Skip to content

Corrupt footer CRC must rebuild, not refuse the namespace - #17

Open
paulocsanz wants to merge 2 commits into
beyondoss:mainfrom
paulocsanz:dst/b34-footer-crc-rebuild
Open

Corrupt footer CRC must rebuild, not refuse the namespace#17
paulocsanz wants to merge 2 commits into
beyondoss:mainfrom
paulocsanz:dst/b34-footer-crc-rebuild

Conversation

@paulocsanz

Copy link
Copy Markdown
Contributor

open_namespace comments and ARCHITECTURE.md say a corrupt sealed footer falls back to a sequential record scan. read_footer().await? treated CRC/range errors as fatal, so a one-bit flip in the trailer CRC (magic intact) refused the whole namespace. Their crash test only truncates the trailer (magic gone → None).

Two commits: failing production test, then classify footer as Ok / Missing / Corrupt. Missing still means torn active. Corrupt rebuilds and rotates.

  • Sealed files: CRC/BadRecord → rebuild_from_records
  • Highest file: CRC/BadRecord → rebuild + new active (not refuse open)

ARCHITECTURE.md says a corrupt sealed footer falls back to a
record scan. read_footer().await? currently fails the open.
ARCHITECTURE.md says a corrupt sealed footer falls back to a record
scan. read_footer().await? failed the whole namespace. Missing magic
is still a torn active file; CRC/BadRecord is bitrot of a completed
trailer — rebuild and rotate.
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