test(crawler): deflake sync serialization concurrency test #7

Merged
fabi merged 1 commits from fix/deflake-sync-serialization-test into main 2026-06-16 13:38:16 +00:00
Owner

Pre-existing flaky test blocking the 0.84.0 deploy. The advisory lock serializes the two concurrent syncs but not which commits last; both [A,B,C] and [A,B] are valid last-writer-wins outcomes. Assert either. Product sync logic unchanged. See commit body.

Pre-existing flaky test blocking the 0.84.0 deploy. The advisory lock serializes the two concurrent syncs but not which commits last; both [A,B,C] and [A,B] are valid last-writer-wins outcomes. Assert either. Product sync logic unchanged. See commit body.
fabi added 1 commit 2026-06-16 13:38:11 +00:00
test(crawler): deflake sync serialization concurrency test
Some checks failed
deploy / test-backend (pull_request) Failing after 1m36s
deploy / build-and-push (pull_request) Has been cancelled
deploy / test-frontend (pull_request) Has been cancelled
deploy / deploy (pull_request) Has been cancelled
bf2eea8c49
sync_chapters_serializes_concurrent_calls_for_same_manga asserted a single
ordering ([A,B,C]) that the per-manga advisory lock cannot guarantee: it
serializes the two concurrent syncs but not WHICH wins the lock last. Under
heavy CI load the order inverted — call X (list [A,B]) committed last and
correctly soft-dropped C (a key it never saw), yielding [A,B] → assertion
failed. Both [A,B,C] (Y last) and [A,B] (X last) are valid last-writer-wins
serializations; the lock only guarantees no TORN state. Accept either.

Pre-existing flake (test unchanged since 0.52.0, lock since 0.55.0); product
sync logic is correct and untouched. Unblocks the 0.84.0 deploy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fabi merged commit cf62dae2c9 into main 2026-06-16 13:38:16 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: fabi/Mangalord#7