nicktelford opened a new pull request, #22323:
URL: https://github.com/apache/kafka/pull/22323

   Introduces the core building blocks for transactional state stores:
   TransactionBuffer, AbstractTransactionBuffer, and StagedMergeIterator.
   
   TransactionBuffer defines the staging interface for buffering writes
   before a transaction commits. AbstractTransactionBuffer provides a
   ConcurrentSkipListMap-backed implementation. Reads on the owner thread
   (the stream thread driving the task) take a lock-free fast path directly
   against the staged map; reads on non-owner threads, such as interactive
   query, snapshot the staged entries at iteration start for a consistent
   view without blocking writers.
   
   StagedMergeIterator is a ManagedKeyValueIterator that merges the staged
   overlay with a base store iterator, respecting point-delete tombstones
   for entries deleted within the transaction. It registers with the store's
   open-iterator tracking so RocksDB can defer compactions while it is live.
   
   The abstract base is tombstone-agnostic: point deletes are handled
   uniformly by all implementations. All types are generic over the key
   type so that window and session stores can reuse the same framework with
   composite keys.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to