go-ethereum/nomt/bitbox
weiihann 859312d1f5 nomt/bitbox: add Phase 4 WAL, sync controller, and crash recovery
Implement crash-safe persistence for the Bitbox hash table:
- wal.go: WAL format with START/CLEAR/UPDATE/END entries, builder/reader
- sync.go: 3-phase sync protocol (BeginSync → WriteWAL → CommitSync)
- recover.go: WAL replay for crash recovery

The WAL records page diffs (not full pages) for compact logging. The
3-phase protocol ensures: WAL fsynced before HT modification, HT fsynced
before WAL truncation, providing at-least-once delivery of page updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:16:29 +08:00
..
bitbox_test.go nomt/bitbox: add Phase 3 Bitbox on-disk hash table storage 2026-02-12 17:14:20 +08:00
db.go nomt/bitbox: add Phase 3 Bitbox on-disk hash table storage 2026-02-12 17:14:20 +08:00
htfile.go nomt/bitbox: add Phase 3 Bitbox on-disk hash table storage 2026-02-12 17:14:20 +08:00
metamap.go nomt/bitbox: add Phase 3 Bitbox on-disk hash table storage 2026-02-12 17:14:20 +08:00
probe.go nomt/bitbox: add Phase 3 Bitbox on-disk hash table storage 2026-02-12 17:14:20 +08:00
recover.go nomt/bitbox: add Phase 4 WAL, sync controller, and crash recovery 2026-02-12 17:16:29 +08:00
sync.go nomt/bitbox: add Phase 4 WAL, sync controller, and crash recovery 2026-02-12 17:16:29 +08:00
wal.go nomt/bitbox: add Phase 4 WAL, sync controller, and crash recovery 2026-02-12 17:16:29 +08:00
wal_test.go nomt/bitbox: add Phase 4 WAL, sync controller, and crash recovery 2026-02-12 17:16:29 +08:00