IdempotencyRecordPurgeSweepTests.Sweep_DoesNotDeleteAnExpiredClaimStolenWhileTheDeleteIsBlocked fails intermittently in CI.
Observed: PR #1026's first integration run failed on this test alone. The change was unrelated, a feed-usage read fix. Re-running only the failed job passed with no code change.
Likely cause: the test aborts when the race it needs, a claim stolen while the purge DELETE is blocked, does not happen within its time budget. On a loaded runner the timing can miss.
Done when: the test forces the interleaving deterministically, for example with a lock or barrier it controls rather than a timing window, or it reports an inconclusive race as a skip with the reason instead of a failure. Prove it by running the class many times in a loop under CPU load.
IdempotencyRecordPurgeSweepTests.Sweep_DoesNotDeleteAnExpiredClaimStolenWhileTheDeleteIsBlockedfails intermittently in CI.Observed: PR #1026's first integration run failed on this test alone. The change was unrelated, a feed-usage read fix. Re-running only the failed job passed with no code change.
Likely cause: the test aborts when the race it needs, a claim stolen while the purge DELETE is blocked, does not happen within its time budget. On a loaded runner the timing can miss.
Done when: the test forces the interleaving deterministically, for example with a lock or barrier it controls rather than a timing window, or it reports an inconclusive race as a skip with the reason instead of a failure. Prove it by running the class many times in a loop under CPU load.