To allow integration test frameworks to control rocksdb internals, we can make use of rocksdb SyncPoint to support rust fail-point https://github.com/tikv/fail-rs There are some difference between SyncPoint and fail-point. Some of the items to work on:
[ ] Make fail-point support dependencies (one fail-point wait for another before proceed)
[ ] Make SyncPoint support early return
[ ] Add rocksdb compile flag to enable SyncPoint in release build
[ ] Expose SyncPoint API on rocksdb side, then wrap it as fail-point API on rust-rocksdb side
To allow integration test frameworks to control rocksdb internals, we can make use of rocksdb
SyncPoint
to support rust fail-point https://github.com/tikv/fail-rs There are some difference betweenSyncPoint
and fail-point. Some of the items to work on:SyncPoint
support early returnSyncPoint
in release buildSyncPoint
API on rocksdb side, then wrap it as fail-point API on rust-rocksdb side