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
> >
> >>
> >
> >
>

Reply via email to