You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Colin McCabe (Jira)" <ji...@apache.org> on 2024/08/09 23:10:00 UTC

[jira] [Commented] (KAFKA-15795) Support fetch(fromKey, toKey, from, to) to WindowRangeQuery and unify WindowKeyQuery and WindowRangeQuery

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

Colin McCabe commented on KAFKA-15795:
--------------------------------------

Moving to 4.0 since we are past feature freeze on 3.9.

> Support fetch(fromKey, toKey, from, to) to WindowRangeQuery and unify WindowKeyQuery and WindowRangeQuery
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-15795
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15795
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Hanyu Zheng
>            Assignee: Hanyu Zheng
>            Priority: Major
>              Labels: kip
>             Fix For: 4.0.0
>
>
> KIP-997: [https://cwiki.apache.org/confluence/display/KAFKA/KIP-997%3A++Support+fetch%28fromKey%2C+toKey%2C+from%2C+to%29+to+WindowRangeQuery+and+unify+WindowKeyQuery+and+WindowRangeQuery]
> We aim to enhance the {{WindowRangeQuery}}  by supporting a new method: {{{}fetch(k{}}}ey{{{}From, keyT{}}}o{{{}, from, to){}}}. Currently, {{WindowRangeQuery}}  utilizes {{KeyValueIterator<Windowed<K>, V> fetchAll(Instant timeFrom, Instant timeTo)}}  for retrieving all key-value pairs within a specified time range. However, we propose to use {{KeyValueIterator<Windowed<K>, V> fetch(K keyFrom, K keyTo, Instant timeFrom, Instant timeTo)}}  instead. This new method will provide a {{KeyValueIterator<Windowed<K>, V>}}  that allows users to iterate over windowed key-value pairs {{{<Windowed<K>, value>}}} , spanning the entire time range.
> With this new method, users can retrieve window sessions for specific keys, rather than all keys, which enables a more targeted query. This is an improvement over the {{fetchAll}}  method, which only allows retrieval of all key's window sessions without the ability to specify a range of keys.
> Additionally, this enhancement also allows the {{WindowRangeQuery}}  to support {{WindowKeyQuery}}  functionality. Users seeking to query window sessions for a specific key can do so by setting {{keyFrom}}  and {{keyTo}}  to be equal. This dual functionality provides more flexibility and efficiency in querying windowed keys.
>  



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