- Convert anonymous interface dependency in BootstrapManager to the new EntryApplier interface
- Update service layer code to use interfaces instead of concrete types
- Fix tests to properly verify bootstrap behavior
- Extend test coverage with proper root cause analysis for failing tests
- Fix persistence tests in replica_registration to explicitly handle delayed persistence
- Add Lamport clock implementation for logical timestamps
- Define ReplicationHook interface in WAL package
- Extend WAL to use Lamport clock for timestamps
- Add notification hooks for WAL entries and batches
- Update WAL initialization to support replication
- Add tests for replication hooks and clocks
Adds a complete LSM-based storage engine with these features:
- Single-writer based architecture for the storage engine
- WAL for durability, and hey it's configurable
- MemTable with skip list implementation for fast read/writes
- SSTable with block-based structure for on-disk level-based storage
- Background compaction with tiered strategy
- ACID transactions
- Good documentation (I hope)