Thanks for the KIP, Patrick! I think your KIP is well motivated. It's definitely a bummer to have to iterate over the full store as a workaround for open-ended ranges.
I agree with your pragmatic approach here. We have recently had a couple of other contributions to the store APIs (prefix and reverseRange), and the complexity of adding those new methods far exceeded what anyone expected. I'd be in favor of being conservative with new store APIs until we are able to reign in that complexity somehow. Since your proposed semantics seem reasonable, I'm in favor. While reviewing your KIP, it struck me that we have several range-like APIs on: * SessionStore (https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlySessionStore.java) * WindowStore (https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyWindowStore.java) as well. Do you think it would be a good idea to also propose a similar change on those APIs? It might be nice (for exactly the same reasons you documented), but it also increases the scope of your work. There is one extra wrinkle I can see: SessionStore has versions of the range methods that take a `long` instead of an `Instant`, so `null` wouldn't work for them. If you prefer to keep your KIP narrow in scope to just the KeyValueStore, I'd also support you. In that case, it might be a good idea to simply mention in the "Rejected Alternatives" that you decided not to address those other store APIs at this time. That way, people later on won't have to wonder why those other methods didn't get updated. Other than that, I have no concerns! Thank you, John On Mon, 2021-07-19 at 13:22 +0200, Patrick Stuedi wrote: > Hi everyone, > > I would like to start the discussion for KIP-763: Range queries with open > endpoints. > > The KIP can be found here: > https://cwiki.apache.org/confluence/display/KAFKA/KIP-763%3A+Range+queries+with+open+endpoints > > Any feedback will be highly appreciated. > > Many thanks, > Patrick