Hi Hannes,
Thanks for the KIP. This seems to be a gap worth closing: SQL's OVER (... ROWS/RANGE BETWEEN ...) and Flink's over-aggregation have no DSL equivalent in Kafka Streams, and ksqlDB doesn't offer it either. I have a few higher-level comments and questions before getting into the details. AS1: Flink (which the KIP cites) supports only the backward PRECEDING ... CURRENT ROW frame for streaming OVER aggregation and intentionally omits FOLLOWING. Should we also drop it? AS2: CloseableIterator: there is already org.apache.kafka.common.utils.internals.CloseableIterator, and the Streams store iterators (KeyValueIterator, WindowStoreIterator) are already Closeable with close(). Could Range.fetch reuse an existing iterator type rather than introducing a new public CloseableIterator with the same simple name? If a Record-typed closeable iterator is genuinely needed, use a non-colliding name and include a note explaining why the existing types don't fit. Thanks -Alieh On Wed, May 27, 2026 at 9:32 PM Hannes Buseyne <[email protected]> wrote: > Hi all, > > I'd like to start a discussion on KIP-1352, which proposes adding range > aggregations to the Kafka Streams DSL. > The current windowing API is limited to fixed time intervals and > incremental aggregations. This KIP introduces a Range abstraction that > allows users to define flexible record-centric ranges (by event time or > event count) and perform non-incremental aggregations over them, emitting > results as a KStream. > > KIP page: > > https://urldefense.com/v3/__https://cwiki.apache.org/confluence/display/KAFKA/KIP-1352*3A*Ranges*and*Range*Aggregations*in*the*Kafka*Streams*DSL__;JSsrKysrKysrKw!!Ayb5sqE7!t3zDQWQ6gAYrqYo_o-3JJJRSzDii-j5WOdFXRCB8ZhQ2PhfqcjA8z2XDW7rdkU0TYFMDBWtV_oNOKlTAayuvdsKvug$ > > Looking forward to your feedback > Hannes Buseyne >
