SessionWindows are defined based on a gap parameter, and also support an additional grace-period configuration to handle out-of-order data.
To incorporate the session-gap a session window should only be closed at window-end + gap and to incorporate grace-period, the close time should be pushed out further to window-end + gap + grace.
However, atm we compute the window close time as window-end + grace omitting the gap parameter.
Because default grace-period is 24h most users might not notice this issues. Even if they set a grace period explicitly (eg, when using suppress()), they would most likely set a grace-period larger than gap-time not hitting the issue (or maybe only realize it when inspecting the behavior closely).
However, if a user wants to disable the grace-period and sets it to zero (on any other value smaller than gap-time), sessions might be close too early and user might notice.
- links to