Hi, Hao,

For TimestampedKeyQuery, it only returns the value of the key, and the
value should be ValueAndTimestamp<V>.
If you want to get an  iterator of `ValueAndTimestamp<V>`, you can use
TimestampedRangeQuery.

Sincerely,
Hanyu

On Mon, Oct 30, 2023 at 1:42 PM Hanyu (Peter) Zheng <pzh...@confluent.io>
wrote:

> Hi, Matthias,
> Now, if we use TimestampedKeyQuery to query kv-store, it will throw a
> exception,
> the exception like this:
> java.lang.IllegalArgumentException: Cannot get result for failed query.
>
> Sincerely,
> Hanyu
>
> On Thu, Oct 26, 2023 at 3:45 PM Hao Li <h...@confluent.io.invalid> wrote:
>
>> Thanks for the KIP Hanyu! One question: why not return an iterator of
>> `ValueAndTimestamp<V>` for `TimestampedKeyQuery`? I suppose for a
>> ts-kv-store, there could be multiple timestamps associated with the same
>> key?
>>
>> Hao
>>
>> On Thu, Oct 26, 2023 at 10:23 AM Matthias J. Sax <mj...@apache.org>
>> wrote:
>>
>> > Would we really get a ClassCastException?
>> >
>> >  From my understanding, the store would reject the query as unsupported
>> > and thus the returned `QueryResult` object would have it's internal flag
>> > set to indicate the failure, but no exception would be thrown directly?
>> >
>> > (Of course, there might be an exception thrown to the user if they don't
>> > check `isSuccess()` flag but call `getResult()` directly.)
>> >
>> >
>> > -Matthias
>> >
>> > On 10/25/23 8:55 AM, Hanyu (Peter) Zheng wrote:
>> > > Hi, Bill,
>> > > Thank you for your reply. Yes, now, if a user executes a timestamped
>> > query
>> > > against a non-timestamped store, It will throw ClassCastException.
>> > > If a user uses KeyQuery to query kv-store or ts-kv-store, it always
>> > return
>> > > V.  If a user uses TimestampedKeyQuery to query kv-store, it will
>> throw a
>> > > exception, so TimestampedKeyQuery query can only query ts-kv-store and
>> > > return ValueAndTimestamp object in the end.
>> > >
>> > > Sincerely,
>> > > Hanyu
>> > >
>> > > On Wed, Oct 25, 2023 at 8:51 AM Hanyu (Peter) Zheng <
>> pzh...@confluent.io
>> > >
>> > > wrote:
>> > >
>> > >> Thank you Lucas,
>> > >>
>> > >> I will fix the capitalization.
>> > >> When a user executes a timestamped query against a non-timestamped
>> > store,
>> > >> It will throw ClassCastException.
>> > >>
>> > >> Sincerely,
>> > >> Hanyu
>> > >>
>> > >> On Tue, Oct 24, 2023 at 1:36 AM Lucas Brutschy
>> > >> <lbruts...@confluent.io.invalid> wrote:
>> > >>
>> > >>> Hi Hanyu,
>> > >>>
>> > >>> reading the KIP, I was wondering the same thing as Bill.
>> > >>>
>> > >>> Other than that, this looks good to me. Thanks for KIP.
>> > >>>
>> > >>> nit: you have method names `LowerBound` and `UpperBound`, where you
>> > >>> probably want to fix the capitalization.
>> > >>>
>> > >>> Cheers,
>> > >>> Lucas
>> > >>>
>> > >>> On Mon, Oct 23, 2023 at 5:46 PM Bill Bejeck <bbej...@gmail.com>
>> wrote:
>> > >>>>
>> > >>>> Hey Hanyu,
>> > >>>>
>> > >>>> Thanks for the KIP, it's a welcomed addition.
>> > >>>> Overall, the KIP looks good to me, I just have one comment.
>> > >>>>
>> > >>>> Can you discuss the expected behavior when a user executes a
>> > timestamped
>> > >>>> query against a non-timestamped store?  I think it should throw an
>> > >>>> exception vs. using some default value.
>> > >>>> If it's the case that Kafka Stream wraps all stores in a
>> > >>>> `TimestampAndValue` store and returning a plain `V` or a
>> > >>>> `TimestampAndValue<V>` object depends on the query type, then it
>> would
>> > >>> be
>> > >>>> good to add those details to the KIP.
>> > >>>>
>> > >>>> Thanks,
>> > >>>> Bill
>> > >>>>
>> > >>>>
>> > >>>>
>> > >>>> On Fri, Oct 20, 2023 at 5:07 PM Hanyu (Peter) Zheng
>> > >>>> <pzh...@confluent.io.invalid> wrote:
>> > >>>>
>> > >>>>> Thank you Matthias,
>> > >>>>>
>> > >>>>> I will modify the KIP to eliminate this restriction.
>> > >>>>>
>> > >>>>> Sincerely,
>> > >>>>> Hanyu
>> > >>>>>
>> > >>>>> On Fri, Oct 20, 2023 at 2:04 PM Hanyu (Peter) Zheng <
>> > >>> pzh...@confluent.io>
>> > >>>>> wrote:
>> > >>>>>
>> > >>>>>> Thank you Alieh,
>> > >>>>>>
>> > >>>>>> In these two new query types, I will remove 'get' from all getter
>> > >>> method
>> > >>>>>> names.
>> > >>>>>>
>> > >>>>>> Sincerely,
>> > >>>>>> Hanyu
>> > >>>>>>
>> > >>>>>> On Fri, Oct 20, 2023 at 10:40 AM Matthias J. Sax <
>> mj...@apache.org>
>> > >>>>> wrote:
>> > >>>>>>
>> > >>>>>>> Thanks for the KIP Hanyu,
>> > >>>>>>>
>> > >>>>>>> One questions:
>> > >>>>>>>
>> > >>>>>>>> To address this inconsistency, we propose that KeyQuery  should
>> > >>> be
>> > >>>>>>> restricted to querying kv-stores  only, ensuring that it always
>> > >>> returns
>> > >>>>> a
>> > >>>>>>> plain V  type, making the behavior of the aforementioned code
>> more
>> > >>>>>>> predictable. Similarly, RangeQuery  should be dedicated to
>> querying
>> > >>>>>>> kv-stores , consistently returning only the plain V .
>> > >>>>>>>
>> > >>>>>>> Why do you want to restrict `KeyQuery` and `RangeQuery` to
>> > >>> kv-stores? I
>> > >>>>>>> think it would be possible to still allow both queries for
>> > >>> ts-kv-stores,
>> > >>>>>>> but change the implementation to return "plain V" instead of
>> > >>>>>>> `ValueAndTimestamp<V>`, ie, the implementation would
>> automatically
>> > >>>>>>> unwrap the value.
>> > >>>>>>>
>> > >>>>>>>
>> > >>>>>>>
>> > >>>>>>> -Matthias
>> > >>>>>>>
>> > >>>>>>> On 10/20/23 2:32 AM, Alieh Saeedi wrote:
>> > >>>>>>>> Hey Hanyu,
>> > >>>>>>>>
>> > >>>>>>>> Thanks for the KIP. It seems good to me.
>> > >>>>>>>> Just one point: AFAIK, we are going to remove "get" from the
>> > >>> name of
>> > >>>>> all
>> > >>>>>>>> getter methods.
>> > >>>>>>>>
>> > >>>>>>>> Cheers,
>> > >>>>>>>> Alieh
>> > >>>>>>>>
>> > >>>>>>>> On Thu, Oct 19, 2023 at 5:44 PM Hanyu (Peter) Zheng
>> > >>>>>>>> <pzh...@confluent.io.invalid> wrote:
>> > >>>>>>>>
>> > >>>>>>>>> Hello everyone,
>> > >>>>>>>>>
>> > >>>>>>>>> I would like to start the discussion for KIP-992: Proposal to
>> > >>>>> introduce
>> > >>>>>>>>> IQv2 Query Types: TimestampedKeyQuery and
>> TimestampedRangeQuery
>> > >>>>>>>>>
>> > >>>>>>>>> The KIP can be found here:
>> > >>>>>>>>>
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-992%3A+Proposal+to+introduce+IQv2+Query+Types%3A+TimestampedKeyQuery+and+TimestampedRangeQuery
>> > >>>>>>>>>
>> > >>>>>>>>> Any suggestions are more than welcome.
>> > >>>>>>>>>
>> > >>>>>>>>> Many thanks,
>> > >>>>>>>>> Hanyu
>> > >>>>>>>>>
>> > >>>>>>>>> On Thu, Oct 19, 2023 at 8:17 AM Hanyu (Peter) Zheng <
>> > >>>>>>> pzh...@confluent.io>
>> > >>>>>>>>> wrote:
>> > >>>>>>>>>
>> > >>>>>>>>>>
>> > >>>>>>>>>>
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-992%3A+Proposal+to+introduce+IQv2+Query+Types%3A+TimestampedKeyQuery+and+TimestampedRangeQuery
>> > >>>>>>>>>>
>> > >>>>>>>>>> --
>> > >>>>>>>>>>
>> > >>>>>>>>>> [image: Confluent] <https://www.confluent.io>
>> > >>>>>>>>>> Hanyu (Peter) Zheng he/him/his
>> > >>>>>>>>>> Software Engineer Intern
>> > >>>>>>>>>> +1 (213) 431-7193 <+1+(213)+431-7193>
>> > >>>>>>>>>> Follow us: [image: Blog]
>> > >>>>>>>>>> <
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog
>> > >>>>>>>>>> [image:
>> > >>>>>>>>>> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
>> > >>>>>>>>>> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image:
>> Slack]
>> > >>>>>>>>>> <https://slackpass.io/confluentcommunity>[image: YouTube]
>> > >>>>>>>>>> <https://youtube.com/confluent>
>> > >>>>>>>>>>
>> > >>>>>>>>>> [image: Try Confluent Cloud for Free]
>> > >>>>>>>>>> <
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic
>> > >>>>>>>>>>
>> > >>>>>>>>>>
>> > >>>>>>>>>
>> > >>>>>>>>>
>> > >>>>>>>>> --
>> > >>>>>>>>>
>> > >>>>>>>>> [image: Confluent] <https://www.confluent.io>
>> > >>>>>>>>> Hanyu (Peter) Zheng he/him/his
>> > >>>>>>>>> Software Engineer Intern
>> > >>>>>>>>> +1 (213) 431-7193 <+1+(213)+431-7193>
>> > >>>>>>>>> Follow us: [image: Blog]
>> > >>>>>>>>> <
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog
>> > >>>>>>>>>> [image:
>> > >>>>>>>>> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
>> > >>>>>>>>> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image:
>> Slack]
>> > >>>>>>>>> <https://slackpass.io/confluentcommunity>[image: YouTube]
>> > >>>>>>>>> <https://youtube.com/confluent>
>> > >>>>>>>>>
>> > >>>>>>>>> [image: Try Confluent Cloud for Free]
>> > >>>>>>>>> <
>> > >>>>>>>>>
>> > >>>>>>>
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic
>> > >>>>>>>>>>
>> > >>>>>>>>>
>> > >>>>>>>>
>> > >>>>>>>
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> --
>> > >>>>>>
>> > >>>>>> [image: Confluent] <https://www.confluent.io>
>> > >>>>>> Hanyu (Peter) Zheng he/him/his
>> > >>>>>> Software Engineer Intern
>> > >>>>>> +1 (213) 431-7193 <+1+(213)+431-7193>
>> > >>>>>> Follow us: [image: Blog]
>> > >>>>>> <
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog
>> > >>>>>> [image:
>> > >>>>>> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
>> > >>>>>> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image: Slack]
>> > >>>>>> <https://slackpass.io/confluentcommunity>[image: YouTube]
>> > >>>>>> <https://youtube.com/confluent>
>> > >>>>>>
>> > >>>>>> [image: Try Confluent Cloud for Free]
>> > >>>>>> <
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic
>> > >>>>>>
>> > >>>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>> --
>> > >>>>>
>> > >>>>> [image: Confluent] <https://www.confluent.io>
>> > >>>>> Hanyu (Peter) Zheng he/him/his
>> > >>>>> Software Engineer Intern
>> > >>>>> +1 (213) 431-7193 <+1+(213)+431-7193>
>> > >>>>> Follow us: [image: Blog]
>> > >>>>> <
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog
>> > >>>>>> [image:
>> > >>>>> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
>> > >>>>> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image: Slack]
>> > >>>>> <https://slackpass.io/confluentcommunity>[image: YouTube]
>> > >>>>> <https://youtube.com/confluent>
>> > >>>>>
>> > >>>>> [image: Try Confluent Cloud for Free]
>> > >>>>> <
>> > >>>>>
>> > >>>
>> >
>> https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic
>> > >>>>>>
>> > >>>>>
>> > >>>
>> > >>
>> > >>
>> > >> --
>> > >>
>> > >> [image: Confluent] <https://www.confluent.io>
>> > >> Hanyu (Peter) Zheng he/him/his
>> > >> Software Engineer Intern
>> > >> +1 (213) 431-7193 <+1+(213)+431-7193>
>> > >> Follow us: [image: Blog]
>> > >> <
>> >
>> https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog
>> > >[image:
>> > >> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
>> > >> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image: Slack]
>> > >> <https://slackpass.io/confluentcommunity>[image: YouTube]
>> > >> <https://youtube.com/confluent>
>> > >>
>> > >> [image: Try Confluent Cloud for Free]
>> > >> <
>> >
>> https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic
>> > >
>> > >>
>> > >
>> > >
>> >
>>
>
>
> --
>
> [image: Confluent] <https://www.confluent.io>
> Hanyu (Peter) Zheng he/him/his
> Software Engineer Intern
> +1 (213) 431-7193 <+1+(213)+431-7193>
> Follow us: [image: Blog]
> <https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog>[image:
> Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
> <https://www.linkedin.com/in/hanyu-peter-zheng/>[image: Slack]
> <https://slackpass.io/confluentcommunity>[image: YouTube]
> <https://youtube.com/confluent>
>
> [image: Try Confluent Cloud for Free]
> <https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic>
>


-- 

[image: Confluent] <https://www.confluent.io>
Hanyu (Peter) Zheng he/him/his
Software Engineer Intern
+1 (213) 431-7193 <+1+(213)+431-7193>
Follow us: [image: Blog]
<https://www.confluent.io/blog?utm_source=footer&utm_medium=email&utm_campaign=ch.email-signature_type.community_content.blog>[image:
Twitter] <https://twitter.com/ConfluentInc>[image: LinkedIn]
<https://www.linkedin.com/in/hanyu-peter-zheng/>[image: Slack]
<https://slackpass.io/confluentcommunity>[image: YouTube]
<https://youtube.com/confluent>

[image: Try Confluent Cloud for Free]
<https://www.confluent.io/get-started?utm_campaign=tm.fm-apac_cd.inbound&utm_source=gmail&utm_medium=organic>

Reply via email to