Bill Bejeck created KAFKA-20467:
-----------------------------------
Summary: KIP-892: Add BatchedDBAccessor to RocksDBStore for write
buffering
Key: KAFKA-20467
URL: https://issues.apache.org/jira/browse/KAFKA-20467
Project: Kafka
Issue Type: Sub-task
Components: streams
Reporter: Bill Bejeck
Fix For: 4.4.0
Add BatchedDBAccessor inner class to RocksDBStore alongside existing
DirectDBAccessor.
- BatchedDBAccessor wraps a WriteBatchWithIndex: put/delete go to batch, get
uses getFromBatchAndDB() for read-your-writes
- commit(): write batch atomically to RocksDB (data + offsets in one
db.write(batch) call), then clear batch
- rollback(): discard batch on task corruption
- Track uncommittedBytes — increment on every put/delete, reset on commit
- approximateNumUncommittedBytes() returns tracked value
- Accessor choice controlled by isolation level passed at store creation
- Ensure batched accessor works with RocksDBTimestampedStore dual-CF layout
- Update RocksDbIterator to use WriteBatchWithIndex.newIteratorWithBase() for
merged iteration
--
This message was sent by Atlassian Jira
(v8.20.10#820010)