22 lines
731 B
C++
22 lines
731 B
C++
// TODO: In order to use RocksDB's WAL replication helpers, we need to import the C++ library so we use this shim
|
||
/**
|
||
C++ shim implementation notes (the important bits)
|
||
|
||
In this rocksdb_shim.cc we'll need to use:
|
||
|
||
rocksdb::DB::Open(...)
|
||
|
||
db->GetLatestSequenceNumber()
|
||
|
||
db->GetUpdatesSince(seq, &iter)
|
||
|
||
from each TransactionLogIterator entry:
|
||
|
||
get WriteBatch and serialize via WriteBatch::Data()
|
||
|
||
apply via rocksdb::WriteBatch wb(data); db->Write(write_options, &wb);
|
||
|
||
Also we must configure WAL retention so the followers don’t fall off the end. RocksDB warns the iterator can become invalid if WAL is cleared aggressively; typical controls are WAL TTL / size limit.
|
||
|
||
https://github.com/facebook/rocksdb/issues/1565
|
||
*/ |