Surfaced repeatedly while shepherding tikv/client-rust#549 and tikv/client-rust#550: two pre-existing upstream flakes keep red-Xing our PRs' integration-test-txn job, each needing manual diagnosis + retrigger.
Both pass reliably in isolation locally (3/3, sub-second). The recurring cost is human triage + CI retriggers on every in-flight PR.
Scope: diagnose the shared root cause (async lock-cleanup timing under the aggressive region-split config) and either fix the tests' synchronization or file a tightened upstream repro. Relates to backlog #35 (failpoint flakiness, Phase 3) — pulled to Phase 0 because it is actively blocking the in-flight PRs.
Roadmap §3 / Phase 0 — unblocking in-flight work.
Surfaced repeatedly while shepherding tikv/client-rust#549 and tikv/client-rust#550: two pre-existing upstream flakes keep red-Xing our PRs'
integration-test-txnjob, each needing manual diagnosis + retrigger.failpoint_tests::txn_cleanup_2pc_lockshangs until nextest's terminate kills it (SIGKILL/timeout). Hit #549; retrigger cleared it. The success-path wait is identical to the oldtry_join_all, so it is not caused by our changes.txn_cleanup_range_async_commit_locks/txn_cleanup_locks_batch_sizeassert an exactcount_locksthat races (observed 513 vs 512, 575 vs 512). Hit #550; retrigger cleared it.Both pass reliably in isolation locally (3/3, sub-second). The recurring cost is human triage + CI retriggers on every in-flight PR.
Scope: diagnose the shared root cause (async lock-cleanup timing under the aggressive region-split config) and either fix the tests' synchronization or file a tightened upstream repro. Relates to backlog #35 (failpoint flakiness, Phase 3) — pulled to Phase 0 because it is actively blocking the in-flight PRs.
Roadmap §3 / Phase 0 — unblocking in-flight work.