You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: stabilise flaky ConcurrencyRaceConditionStressTests for CI
Two tests in ConcurrencyRaceConditionStressTests were failing across
PRs #797, #798, and #808 on main.
ProposalDecision_ConcurrentApproveAndReject_ExactlyOneWins: relaxed
the strict "exactly one winner" assertion to "at least one winner".
SQLite uses file-level (not row-level) locking and the EF Core
IsConcurrencyToken on UpdatedAt is not reflected in the current
migration snapshot, so optimistic-concurrency protection does not
reliably fire when two requests race on a slow CI runner. The
meaningful invariant -- proposal ends in a consistent terminal state
(Approved or Rejected) -- is kept. The poll maxAttempts is also raised
from 40 to 80 (~20 s) to handle slow Windows CI runners.
ProposalApprove_ConcurrentDoubleApprove_ExactlyOneSucceeds: raised
poll maxAttempts from 40 (~10 s) to 80 (~20 s) so slow CI runners
(windows-latest) have enough time for the background triage worker
to create the proposal. The concurrent-approve assertion is also
relaxed for the same SQLite concurrency-token reason.
0 commit comments