You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Hanyu Zheng (Jira)" <ji...@apache.org> on 2023/10/19 05:28:00 UTC

[jira] [Updated] (KAFKA-15629) proposal to introduce IQv2 Query Types: TimeStampedKeyQuery and TimeStampedRangeQuery

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

Hanyu Zheng updated KAFKA-15629:
--------------------------------
    Summary: proposal to introduce IQv2 Query Types: TimeStampedKeyQuery and TimeStampedRangeQuery  (was: proposal to introduce IQv2 Query Types: TimeStampKeyQuery and TimeStampRangeQuery)

> proposal to introduce IQv2 Query Types: TimeStampedKeyQuery and TimeStampedRangeQuery
> -------------------------------------------------------------------------------------
>
>                 Key: KAFKA-15629
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15629
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Hanyu Zheng
>            Assignee: Hanyu Zheng
>            Priority: Major
>              Labels: kip
>
> KIP-992: [https://cwiki.apache.org/confluence/display/KAFKA/KIP-992%3A+Proposal+to+introduce+IQv2+Query+Types%3A+TimestampKeyQuery+and+TimestampRangeQuery]
> In the current IQv2 code, there are noticeable differences when interfacing with plain-kv-store and ts-kv-store. Notably, the return type V acts as a simple value for plain-kv-store but evolves into ValueAndTimestamp<V> for ts-kv-store, which presents type safety issues in the API.
> Even if IQv2 hasn't gained widespread adoption, an immediate fix might bring compatibility concerns.
> This brings us to the essence of our proposal: the introduction of distinct query types. One that returns a plain value, another for values accompanied by timestamps.
> While querying a ts-kv-store for a plain value and then extracting it is feasible, it doesn't make sense to query a plain-kv-store for a ValueAndTimestamp<V>.
> Our vision is for plain-kv-store to always return V, while ts-kv-store should return ValueAndTimestamp<V>.



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