Rust mesh: a raw snapshot pull is one cache commit (mesh-snapshot-atomic) #134

Merged
libby merged 2 commits from libby/mesh-snapshot-atomic into main 2026-11-12 09:47:38 +00:00
Member

Closes follow-up cultlib-gaps:follow_up:mesh-snapshot-atomic.

CultMesh::apply_raw_snapshot_documents (pull_rudp_catalog_snapshot) now stages the registered documents through put_prepared_batch, so a refusal (read-only key from a newer peer, unread slots) applies nothing, as C# ApplyRawChangesAsOneCommit does. The existing test that pinned the divergence is inverted: the document before the read-only key is not applied. Changelog line that recorded the divergence is rewritten.

Caveat: a batch cannot span backing stores, so a snapshot whose types route to different stores is refused whole. A CultMesh node has one store today.

🤖 Generated with Claude Code

Closes follow-up `cultlib-gaps:follow_up:mesh-snapshot-atomic`. `CultMesh::apply_raw_snapshot_documents` (pull_rudp_catalog_snapshot) now stages the registered documents through `put_prepared_batch`, so a refusal (read-only key from a newer peer, unread slots) applies nothing, as C# `ApplyRawChangesAsOneCommit` does. The existing test that pinned the divergence is inverted: the document before the read-only key is not applied. Changelog line that recorded the divergence is rewritten. Caveat: a batch cannot span backing stores, so a snapshot whose types route to different stores is refused whole. A CultMesh node has one store today. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Rust mesh: a raw snapshot pull is one cache commit (mesh-snapshot-atomic)
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 19m52s
cd7aa91588
A snapshot document for a read-only key used to end the pull with the earlier documents kept; C# applies the snapshot as one commit and applies nothing. Stage the pull through put_prepared_batch.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby force-pushed libby/mesh-snapshot-atomic from cd7aa91588
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 19m52s
to d28d353602
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
2026-11-12 08:46:37 +00:00
Compare
Rust mesh: pin a snapshot over a stale node and correct the apply doc
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 20m17s
588130b869
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit 2fd80c274b into main 2026-11-12 09:47:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!134
No description provided.