fix(worker): 拆分准入事务并收敛验收失败状态

将批量准入改为每任务独立事务,避免 P24 压测时 48 条任务共享长事务造成 transactionid 锁潮与 Worker 槽位空转。失败验收在保持 validation 的同时清理未提交任务,并记录精确压力门禁原因。统一生产 0+2 Worker 拓扑、运行时 ConfigMap 与发布配置,补充镜像预检诊断和回归测试。\n\n验证:Go 全量测试、go vet、真实 PostgreSQL 48 任务集成测试、迁移安全检查、发布脚本测试、bash -n、ShellCheck、Compose 配置均通过。
This commit is contained in:
2026-08-01 18:23:00 +08:00
parent 215b6b607f
commit edcbbd6a87
11 changed files with 194 additions and 100 deletions
@@ -252,6 +252,20 @@ WHERE id = $1::uuid`, submittingAttemptID); err != nil {
}); err != nil || failed.Status != "failed" {
t.Fatalf("downgrade unpromoted acceptance run after external gate failure=%+v err=%v", failed, err)
}
var failedRunCancelled int
if err := db.pool.QueryRow(ctx, `
SELECT count(*)
FROM gateway_tasks
WHERE id = ANY($1::uuid[])
AND status = 'cancelled'
AND error_code = 'acceptance_run_aborted'`,
[]string{queuedTask.ID, runningTask.ID, notSubmittedTask.ID},
).Scan(&failedRunCancelled); err != nil {
t.Fatalf("read failed acceptance cleanup states: %v", err)
}
if failedRunCancelled != 3 {
t.Fatalf("failed acceptance cleanup cancelled=%d, want 3", failedRunCancelled)
}
if retried, err := db.RetryAcceptanceRun(ctx, failedRun.ID); err != nil || retried.Status != "running" {
t.Fatalf("retry acceptance run=%+v err=%v", retried, err)
}