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
ConsensusOrderedCollection can converge on different item ordering across clients after an acquiring client is removed and its job is requeued. This is distinct from the snapshot/catch-up job-tracking reconciliation defect tracked separately.
The deterministic local-server stress reproduction is seed 180 under the operation distribution in PR #27880. It fails assertEqualConsensusOrderedCollections at packages/dds/ordered-collection/src/test/fuzzUtils.ts:159 with Data contents should be equal.
Applying job-owner/quorum reconciliation fixes the missing value but not convergence: client 5 then contains "uxpfF" after the first two "9CCyQ" entries while client 0 keeps it first. This confirms a separate remove-member/requeue ordering defect.
Client 2 adds "uxpfF" to datastore-0/channel-4 at operation 128.
Clients 2 and 4 later acquire from channel 4.
Remove client 4 at operation 152, synchronize, then load client 5 at operation 171.
Perform final synchronization.
Observe different ConsensusOrderedCollection contents/order across clients.
Expected behavior
When an acquiring client leaves, requeued items must have one deterministic position on every client, including clients loaded after the removal. All clients should converge on identical ordered contents.
The fix should include a minimized DDS-level regression test covering removal, requeue, snapshot/catch-up, and final ordering.
Logs
Failure:
assertEqualConsensusOrderedCollections
packages/dds/ordered-collection/src/test/fuzzUtils.ts:159
AssertionError: Data contents should be equal
Describe the bug
ConsensusOrderedCollectioncan converge on different item ordering across clients after an acquiring client is removed and its job is requeued. This is distinct from the snapshot/catch-up job-tracking reconciliation defect tracked separately.The deterministic local-server stress reproduction is seed
180under the operation distribution in PR #27880. It failsassertEqualConsensusOrderedCollectionsatpackages/dds/ordered-collection/src/test/fuzzUtils.ts:159withData contents should be equal.Baseline divergence for
datastore-0/channel-4:["uxpfF", "9CCyQ", "9CCyQ", "WWvBB", "9CCyQ", "WWvBB", "WWvBB"]"uxpfF"Applying job-owner/quorum reconciliation fixes the missing value but not convergence: client 5 then contains
"uxpfF"after the first two"9CCyQ"entries while client 0 keeps it first. This confirms a separate remove-member/requeue ordering defect.To Reproduce
Steps to reproduce the behavior:
180."uxpfF"todatastore-0/channel-4at operation 128.ConsensusOrderedCollectioncontents/order across clients.Expected behavior
When an acquiring client leaves, requeued items must have one deterministic position on every client, including clients loaded after the removal. All clients should converge on identical ordered contents.
The fix should include a minimized DDS-level regression test covering removal, requeue, snapshot/catch-up, and final ordering.
Logs
Failure:
Related context: