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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user