Skip to content

fix(git): serialize same-key refetch cache mutations#960

Draft
ohdearquant wants to merge 6 commits into
mainfrom
fix-805-git-refetch-serialization
Draft

fix(git): serialize same-key refetch cache mutations#960
ohdearquant wants to merge 6 commits into
mainfrom
fix-805-git-refetch-serialization

Conversation

@ohdearquant

Copy link
Copy Markdown
Owner

Fixes #805. Per-key serialization; distinct keys stay concurrent; deterministic per-URL key test included. Local gates deferred to CI due to build-lane contention; codex review follows.

Leo and others added 6 commits July 13, 2026 12:29
Concurrent refetches of the same cache key could interleave their
read-modify-write on a slot. Serialize mutations per cache key without
serializing distinct keys.

Fixes #805

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ky tx-age sweep

run_writer_task registers a writer_task_tx handle in the process-wide
tx_registry singleton; the checkpoint tx_age_sweep_* tests read that
singleton under #[serial(tx_registry)]. The writer_task.rs tests that
spawn a writer task were missing from the group, leaking a longer-lived
writer_task_tx into the sweep's oldest() read and intermittently failing
the assertion on main CI. Join them to the serial group. No prod change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pack-git: no same-key mutation serialization on refetch cache slots

1 participant