Matthias J. Sax created KAFKA-16158: ---------------------------------------
Summary: 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 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)