Skip to content

[no merge] optimistic 1.1.0 - #954

Closed
citizen-stig wants to merge 25 commits into
thrumdev:masterfrom
citizen-stig:nikolai/optimistic-1-1-0
Closed

citizen-stig wants to merge 25 commits into
thrumdev:masterfrom
citizen-stig:nikolai/optimistic-1-1-0

Conversation

@citizen-stig

Copy link
Copy Markdown
Contributor

No description provided.

codex and others added 25 commits October 13, 2026 20:55
Overlay::commit cloned every page and value change before writing them
out. Validate the parent marker and root under the write lock, mark the
overlay committed, then move the changes out. Data is only cloned if a
live overlay still holds it.

Validating before marking also stops a rejected commit from leaving the
overlay marked as committed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rollback delta used to be appended and fsynced before the store
commit started. Pass it into Store::commit instead and append it while
bitbox and beatree prepare their writes. All three are joined before
the manifest is written, so the delta is still durable before the
manifest references it.

After the manifest, finish the beatree sync on its thread pool while
bitbox writes the hash-table pages.

FinishedSession::try_commit_nonblocking no longer needs
Rollback::commit_nonblocking: the rollback log is only touched under
the store's sync lock now, so it is removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…fetch

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rkle-update' into nikolai/optimistic-1-1-0

# Conflicts:
#	nomt/src/lib.rs
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.

2 participants