Skip to content

Build against the engine fix for the unsettled-path commit race - #291

Merged
callumalpass merged 1 commit into
mainfrom
agent/bump-mdbase-rs-revision
Aug 20, 2026
Merged

Build against the engine fix for the unsettled-path commit race#291
callumalpass merged 1 commit into
mainfrom
agent/bump-mdbase-rs-revision

Conversation

@callumalpass

Copy link
Copy Markdown
Contributor

Bumps deploy/docker/mdbase-rs-revision to d0b0070 — the merge of callumalpass/mdbase-rs#54.

What it fixes

The engine rejected nothing when a commit targeted a path another commit owned but had not settled, so two writers could both take commit points on one baseline. Whichever settled second found a revision matching neither its before nor its intended state, was reported as manual_recovery_required, and left a journal stranded as NeedsManualRecovery — which recover_pending then fails on at every later Collection::open.

An ordinary lost write race could therefore leave a collection unopenable until someone deleted the transaction directory by hand.

Why it matters here

That race is the intermittent unified_cli failure in the hosted-provider job — the job behind most recent Server CI failures, which has also hit main. #289 and #290 are both currently red on it. This should make them deterministic rather than lucky.

Scope

The pinned revision and the merge it advances from are content-identical:

$ git diff --stat 7183962..ad2bdb0
(empty)

So this ships exactly the #54 fix and no other engine change.

Verification

mdbase-rs #54 passed 7/7 including Ubuntu, macOS and Windows test jobs. Its two regression tests fail without the fix, verified by disabling it:

the second writer must lose cleanly, got SettlementRequired(CommitId("3fb3729b…"))

mdbase-rs d0b0070 (callumalpass/mdbase-rs#54) rejects a commit against a path
another commit owns but has not settled. Without it two writers can both take
commit points on one baseline, and whichever settles second strands its journal
as `NeedsManualRecovery`, which fails every later `Collection::open`.

That race is the intermittent `unified_cli` failure in the `hosted-provider`
job, which accounts for most recent Server CI failures and has hit main.

The pinned revision and the merge it advances from are content-identical
(`git diff 7183962..ad2bdb0` is empty), so this ships exactly that fix and no
other engine change.
@callumalpass
callumalpass merged commit 1e0934a into main Aug 20, 2026
9 checks passed
@callumalpass
callumalpass deleted the agent/bump-mdbase-rs-revision branch August 20, 2026 11:32
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.

1 participant