Skip to content

Feature: rocksdb#142

Open
junjihashimoto wants to merge 1 commit intomasterfrom
feature/rocksdb
Open

Feature: rocksdb#142
junjihashimoto wants to merge 1 commit intomasterfrom
feature/rocksdb

Conversation

@junjihashimoto
Copy link
Copy Markdown
Member

@junjihashimoto junjihashimoto commented Mar 18, 2026

  • RocksDBバックエンドの追加。
  • WALを使ったインクリメンタルレプリケーションをサポート。
  • github actionで新旧のモードの両方をテスト。
  • エラーモードへの対応(AZ障害を考慮したネットワーク障害、スプリットブレイン対策)
  • 新機能にともなうログの追加

@junjihashimoto junjihashimoto force-pushed the feature/rocksdb branch 2 times, most recently from 055960e to 9ee9097 Compare March 29, 2026 06:12
@junjihashimoto junjihashimoto force-pushed the feature/rocksdb branch 2 times, most recently from da313b9 to 066cbdb Compare April 10, 2026 18:27
Introduce storage_rocksdb as a new pluggable storage backend alongside
storage_tcb/storage_tch. Behavior matches storage_tcb line-by-line for
set/get/remove/incr paths so the common storage test suite passes
identically (1618 tests, 100%).

Key points:
- storage_rocksdb.{h,cc}: RocksDB-backed storage with header cache for
  deleted entries, snapshot-isolated iteration (localized ReadOptions
  so Get() in set/remove/incr always sees latest state), and version
  checking semantics matching storage_tcb.
- op_repl_sync_wal.{h,cc}: WAL-based incremental replication op.
- handler_dump_replication, op_meta, flared: wire up the new backend
  and replication path.
- test/lib/test_storage_rocksdb.cc: run the common storage test suite
  against the RocksDB backend.
- Build: configure.ac, Makefile.am, flake.nix, nix/default.nix,
  cutter.patch, CI workflow, Dockerfile.test, BUILD.md,
  ROCKSDB_REPLICATION.md.
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