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

   As part of introducing versioned key-value stores in 
[KIP-889](https://cwiki.apache.org/confluence/display/KAFKA/KIP-889%3A+Versioned+State+Stores),
 we'd like a way to represent a versioned key-value store 
(`VersionedKeyValueStore<Bytes, byte[]>`) as a regular key-value store 
(`KeyValueStore<Bytes, byte[]>`) in order to be compatible with existing DSL 
methods for passing key-value stores, e.g., 
[StreamsBuilder#table()](https://github.com/apache/kafka/blob/3012332e3d82947e434933efd4ab4e9366ab429d/streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java#L260)
 and [KTable 
methods](https://github.com/apache/kafka/blob/3012332e3d82947e434933efd4ab4e9366ab429d/streams/src/main/java/org/apache/kafka/streams/kstream/KTable.java#L153),
 which are explicitly typed to accept `Materialized<K, V, KeyValueStore<Bytes, 
byte[]>`. This way, we do not need to introduce new versions of all relevant 
StreamsBuilder and KTable methods to relax the Materialized type to accept 
versioned stores. 
   
   As part of representing a versioned key-value store as a regular key-value 
bytes store, we need a way to serialize a value and timestamp as a single byte 
array, where the value may be null (in order to represent putting a tombstone 
with timestamp into the versioned store). This PR introduces the serdes for 
doing so. See <> for its usage.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to