Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-10-02 Thread Matthias J. Sax
Thanks for updating the KIP. Just re-read it. Overall LGTM. A few nits: single-key lookup with timestamp (upper) bound Not sure if "(upper) bound" is the right phrasing? Personally, I find it a little bit confusing, because the term "bound" kinda indicates a range, but we still do a point

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-09-11 Thread Walker Carlson
Thanks for the KIP Alieh! I don't have anything to add to the 960 discussion right now as it seems rather straightforward. I think after you address Bruno's comments we can bring it to a vote. I'll review the two spawned KIPs separately. Keep it up, Walker On Wed, Sep 6, 2023 at 5:11 AM Bruno

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-09-06 Thread Bruno Cadonna
Hi Alieh, I am sorry if I might repeat things that have been already said since I am not sure I got all e-mails of this discussion thread. The KIP looks good! I just have two minor comments that I think are easily resolved. 1. Why is defining latest() not needed? Is it because if I do not

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-25 Thread Alieh Saeedi
Thank you, Matthias and Victoria. Regarding the problem of using methods of single-key-single-ts queries for KeyQuery (such as asOf) and vice versa (such as skipCache()), after a discussion, we decided to define a separate class for single-key-single-ts queries named VersionedKeyQuery.

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-24 Thread Victoria Xia
Hi Alieh, Thanks for the updates!  Some questions on the new limited-scope KIP: 1. The example in the "Examples" section shows the query type as `KeyQuery>` and the result type as `StateQueryResult>`. Should those have `VersionedRecord` instead of `ValueAndTimestamp`? Also, the request type

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-17 Thread Alieh Saeedi
Hey Matthias, thanks for the feedback I think if one materializes a versioned store, then the query is posed to the versioned state store. So the type of materialized store determines the type of store and consequently all the classes for running the query (for example,

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-16 Thread Matthias J. Sax
Thanks for updating the KIP and splitting into multiple ones. I am just going to reply for the single-key-single-timestamp case below. It seems the `KeyQuery.java` code snipped is "incomplete" -- the class definition is missing. At the same time, the example uses `VersionedKeyQuery` so I am

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-15 Thread Alieh Saeedi
Hi all, thanks to all for the great points you mentioned. Addressed reviews are listed as follows: 1. The methods are defined as composable, as Lucas suggested. Now we have even more types of single-key_multi-timestamp queries. As Matthias suggested in his first review, now with composable

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-09 Thread Matthias J. Sax
Seems there was a lot of additional feedback. Looking forward to an updated version of the KIP. I also agree to make the queries more composable. I was considering to raise this originally, but hold off because `RangeQuery` is also not designed very composable. But for versioned store, we

RE: Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-09 Thread Victoria Xia
Hey Alieh, Thanks for the KIP! It looks like the KIP proposes three different types of interactive queries for versioned stores, though they are grouped together into two classes: VersionedKeyQuery adds supports for single-key, single-timestamp lookups, and also for single-key,

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-09 Thread Bruno Cadonna
Hi, I will use the initials of the authors to distinguish the points. LB 2. I like the idea of composable construction of queries. It would make the API more readable. I think this is better than the VersionsQualifier, I proposed in BC 3.. LB 4. and LB 5. Being explicit on the time bounds

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-08-08 Thread Lucas Brutschy
Hi Alieh, thanks a lot for the KIP. IQ with time semantics is going to be another great improvement towards having crystal clear streaming semantics! 1. I agree with Bruno and Matthias, to remove the 'bound' term for the timestamps. It's confusing that we have bounds for both timestamps and

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-07-27 Thread Alieh Saeedi
Thanks, Bruno, for the feedback. - I agree with both points 2 and 3. About 3: Having "VersionsQualifier" reduces the number of methods and makes everything less confusing. At the end, that will be easier to use for the developers. - About point 4: I renamed all the properties and

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-07-27 Thread Alieh Saeedi
Thanks, Matthias, for the feedback! > Not sure if "bound" is the right term? My understanding from your comment is that just the name "*bound*" is not the right one, while having this query type makes sense. Right? If *bound* is a confusing word, we can simply change it to a better one. I do not

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-07-27 Thread Bruno Cadonna
Hi Alieh, Thanks for the KIP! Here my feedback. 1. You can remove the private fields and constructors from the KIP. Those are implementation details. 2. Some proposals for renamings in VersionedKeyQuery withKeyWithTimestampBound() -> withKeyAndAsOf() withKeyWithTimestampRange() ->

Re: [DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-07-26 Thread Matthias J. Sax
Thanks for the KIP Alieh. Glad to see that we can add IQ to the new versioned stores! Couple of questions: single-key lookup with timestamp (upper) bound Not sure if "bound" is the right term? In the end, it's a point lookup for a key plus timestamps, so it's an as-of timestamp (not a

[DISCUSS] KIP-960: Support interactive queries (IQv2) for versioned state stores

2023-07-26 Thread Alieh Saeedi
Hi all, I would like to propose a KIP to support IQv2 for versioned state stores. https://cwiki.apache.org/confluence/display/KAFKA/KIP-960%3A+Support+interactive+queries+%28IQv2%29+for+versioned+state+stores Looking forward to your feedback! Cheers, Alieh