Use fixed chunks for Harper-backed Tantivy files - #23
Merged
Conversation
kylebernhardy
changed the base branch from
codex/issue-7-harper-storage-proof
to
main
September 9, 2026 12:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Writeretry semantics when staging fails.MmapDirectoryas the oracle.This is stacked on Add bounded host storage transport for Tantivy #22.
Architecture
The binding v2 value identifies an object generation, its immutable full-chunk count, tail revision and length, and total visible length. Range reads derive the intersecting chunk keys from offsets and fetch no preceding data. Writers stage complete chunks with WAL writes, then atomically publish the tail and binding; a failed publication leaves the prior binding readable.
The 256 KiB chunk size is the first benchmark candidate, not customer configuration or a frozen storage format.
Release boundaries
OwnedBytesbefore deciding whether to copy small ranges or add a bounded cache.These remaining items stay in Implement Harper-backed Tantivy Directory mapping and atomic publication #11; this PR intentionally does not close it.
Verification
npm run formatnpm run lintnpm run test— 47 Rust tests, 35 active Node tests, and packed-package verification pass; three opt-in experimental rocksdb-js lease tests remain skipped without their external checkout.Comment generated by kAIle (GPT-5)
Review-Coverage: authored=codex; ran=claude; declined=gemini,cursor-grok,cursor-composer,domain; rounds=5 @ 0cb93b0
Human-Review-Need: 4 @ 0cb93b0