RocksDB SingleDelete
RocksDB SingleDelete is a point-deletion operation whose restricted write-history contract permits paired removal of its marker and matching value during compaction.
The v9.7.3 API requires one Put per SingleDelete cycle, without overwrites; ordinary Delete and Merge must not be mixed into that key's history. A successful current lookup cannot establish this history. [1]
Pair removal still respects read snapshots and transaction conflict checking. Upstream tests separate a snapshot that needs the old value from conflict retention that keeps records while clearing the value. These are reviewed source expectations, not a Hesela engine run. [2]
The v9.7.3 enforce_single_del_contracts option defaults to true for the documented SD/Delete compaction mismatch. Disabling it does not validate the history. This check is not a complete audit of every caller precondition. [3]
Relations
Citations
- RocksDB v9.7.3. db.h: SingleDelete caller contract.
- RocksDB v9.7.3. Compaction iterator tests: snapshot boundaries and write-conflict retention.
- RocksDB v9.7.3. options.h: enforce_single_del_contracts.
Further reading
Sources & caveats
- Version scope: RocksDB v9.7.3 API, implementation and upstream test sources; no performance or failure-frequency measurement.