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
test: serialise the tests that write shared, globally-scoped state
Two flakes, both concurrency artifacts wearing the costume of a product bug
against a suite that shares one live Valkey:
* retention. purge_mcp_calls_before is GLOBAL BY TIMESTAMP, not scoped to a
principal, so the per-principal uid() namespace that isolates everything
else isolates nothing here. The colon-bearing-principal test failed roughly
two runs in three -- at "must actually be purged", or one line earlier at
the read-back -- because the sibling retention test's
purge_mcp_calls_before(1_000_001_000) had already deleted its row. That red
reads exactly like a broken retention index while retention is fine.
* the audit zset. busbar:audit is one global sorted set keyed by seq.
audit_append_and_list_are_ordered_oldest_first takes max(seq)+1_000 and then
requires that record still to be in list_audit_tail(2); the two siblings
that write fixed 910/930-million seqs can land in between and push it out,
failing an assertion about ORDERING. Pre-existing on dev, not introduced by
the call log -- it just surfaces more now that more tests share the server.
A lock rather than disjoint ts bands or seq ranges: any band picked would sit
inside some future purge's cutoff, and the failure would come back looking like
a product bug again. Both guards ignore mutex poisoning so one real failure does
not bury itself under spurious ones.
Verified: 6 consecutive full unit runs green, from ~2-in-3 red before.
0 commit comments