You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test: add index corruption recovery and rebuild fixtures #215
Audit finding: The index_checksum field (persistent_facts.rs:842) is misleadingly named — it checksums fact data pages (1 through new_total_fact_pages), NOT the B+tree index pages. A bit-flip in any index page (which starts at 1 + new_total_fact_pages) won't trigger a rebuild on reopen because needs_rebuild (line 248-249) only checks the fact-page checksum.
The corruption fixtures in this issue should include a test case where index pages are corrupted but fact pages are intact — this currently passes silently (no rebuild triggered), producing wrong query results.
Activity
adityamukho commentedon May 2, 2026
Audit finding: The
index_checksumfield (persistent_facts.rs:842) is misleadingly named — it checksums fact data pages (1 throughnew_total_fact_pages), NOT the B+tree index pages. A bit-flip in any index page (which starts at1 + new_total_fact_pages) won't trigger a rebuild on reopen becauseneeds_rebuild(line 248-249) only checks the fact-page checksum.The corruption fixtures in this issue should include a test case where index pages are corrupted but fact pages are intact — this currently passes silently (no rebuild triggered), producing wrong query results.
chore(wave3): foundation — FaultInjectingBackend, fuzz/ crate, propte…
Merge pull request #255 from project-minigraf/wave3/pr3-storage