cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-880699127
Opened the following PR for the session window bug:
https://issues.apache.org/jira/browse/KAFKA-13094
--
This is an automated message from the Apache Git Service.
To respond t
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-879704540
I do not agree. If users deploy Streams apps in 2.8 we guarantee retention
time T, but when users upgrade the Streams apps to 3.0 we guarantee retention
time T+X. We do not chan
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-878999564
I think we had a bug in the `SessionWindows` because we have never
considered a user set grace period when we computed the retention time. That
should be fixed with the new API,
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-878965687
> However, looking into the code I am a little bit confused about
maintainMs() in TimeWindows:
>
```
public long maintainMs() {
return Math.max(maintainDurationM
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-878835507
> I don't see how there could be data loss?
There could be data loss, because locally the windowed state store would
store records for a longer period of time than in the chan
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-878149711
> Are these changes only necessary for SessionWindows and TimeWindows
classes? What about the JoinWindows and SlidingWindows classes?
As far as I can see `SlidingWindows`
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-873033160
@showuon It is not different. With this PR it is again equal. PR #10378 made
it different, but PR #10378 has been never released. It was merged to trunk
after 2.8 was released.
cadonna commented on pull request #10953:
URL: https://github.com/apache/kafka/pull/10953#issuecomment-872811076
Some details for the other reviewers.
In 2.8 and before, we computed the default grace period with
`Math.max(maintainDurationMs - sizeMs, 0);` in method `gracePeriodMs()`