Michael Bingham created KAFKA-9524: -------------------------------------- Summary: Default window retention does not consider grace period Key: KAFKA-9524 URL: https://issues.apache.org/jira/browse/KAFKA-9524 Project: Kafka Issue Type: Bug Components: streams Affects Versions: 2.4.0 Reporter: Michael Bingham
In a windowed aggregation, if you specify a window size larger than the default window retention (1 day), Streams will implicitly set retention accordingly to accommodate windows of that size. For example, {code:java} .windowedBy(TimeWindows.of(Duration.ofDays(20))) {code} In this case, Streams will implicitly set window retention to 20 days, and no exceptions will occur. However, if you also include a non-zero grace period on the window, such as: {code:java} .windowedBy(TimeWindows.of(Duration.ofDays(20)).grace(Duration.ofMinutes(5))) {code} In this case, Streams will still implicitly set the window retention 20 days (not 20 days + 5 minutes grace), and an exception will be thrown: Exception in thread "main" java.lang.IllegalArgumentException: The retention period of the window store KSTREAM-KEY-SELECT-0000000002 must be no smaller than its window size plus the grace period. Got size=[1728000000], grace=[300000], retention=[1728000000] Ideally, Streams should include grace period when implicitly setting window retention. -- This message was sent by Atlassian Jira (v8.3.4#803005)