[ 
https://issues.apache.org/jira/browse/KAFKA-7918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16777426#comment-16777426
 ] 

ASF GitHub Bot commented on KAFKA-7918:
---------------------------------------

ableegoldman commented on pull request #6327: KAFKA-7918: Inline generic 
parameters Pt. 1: RocksDB Bytes Store and Memory LRU Caches
URL: https://github.com/apache/kafka/pull/6327
 
 
   Second PR in series to inline the generic parameters of the following bytes 
stores:
   
   [ Pt. I] InMemoryKeyValueStore
   [x] RocksDBWindowStore
   [x] RocksDBSessionStore
   [x] MemoryLRUCache
   [x] MemoryNavigableLRUCache
   [  ] InMemoryWindowStore
   
   ### 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 GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Streams store cleanup: inline byte-store generic parameters
> -----------------------------------------------------------
>
>                 Key: KAFKA-7918
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7918
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: John Roesler
>            Assignee: Sophie Blee-Goldman
>            Priority: Major
>
> Currently, the fundamental layer of stores in Streams is the "bytes store".
> The easiest way to identify this is in 
> `org.apache.kafka.streams.state.Stores`, all the `StoreBuilder`s require a 
> `XXBytesStoreSupplier`. 
> We provide several implementations of these bytes stores, typically an 
> in-memory one and a persistent one (aka RocksDB).
> Inside these bytes stores, the key is always `Bytes` and the value is always 
> `byte[]` (serialization happens at a higher level). However, the store 
> implementations are generically typed, just `K` and `V`.
> This is good for flexibility, but it makes the code a little harder to 
> understand. I think that we used to do serialization at a lower level, so the 
> generics are a hold-over from that.
> It would simplify the code if we just inlined the actual k/v types and maybe 
> even renamed the classes from (e.g.) `InMemoryKeyValueStore<K,V>` to 
> `InMemoryKeyValueBytesStore`, and so forth.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to