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)

Reply via email to