[ 
https://issues.apache.org/jira/browse/KAFKA-16158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ziyun Fu reassigned KAFKA-16158:
--------------------------------

    Assignee: Ziyun Fu

> Cleanup usage of `TimestampedBytesStore` interface
> --------------------------------------------------
>
>                 Key: KAFKA-16158
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16158
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Matthias J. Sax
>            Assignee: Ziyun Fu
>            Priority: Major
>
> We added `TimestampedBytesStore` interface many release ago. It's purpose is 
> to indicate if a byte-store's binary value contains a "plain value" or a 
> "<ts><value>" format. Stores with "<ts><value>" format should implement the 
> interface, however not all stores which this format do.
> We tried to fix one occurrence via 
> https://issues.apache.org/jira/browse/KAFKA-15629 by adding 
> `TimestampedBytesStore` to `KeyValueToTimestampedKeyValueByteStoreAdapter`, 
> whoever this change broke the restore code path (cf 
> https://issues.apache.org/jira/browse/KAFKA-16141) and thus we reverted the 
> change.
> During the investigation, we also notices that 
> `InMemoryTimestampedKeyValueStoreMarker` implements `TimestampedBytesStore` 
> but does not do a byte-array translation (it's unclear why no byte array 
> translation happens) – and it's also unclear if in-memory store is testes 
> properly.
> We should try to clean this all up, adding `TimestampedBytesStore` to 
> `KeyValueToTimestampedKeyValueByteStoreAdapter` and figure out how avoid 
> breaking the restore code path. In addition, we should verify if 
> `InMemoryTimestampedKeyValueStoreMarker` is correct or not, and if the 
> restore code path (and maybe also IQv2 code path) is tested properly and 
> correct.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to