THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
No Format |
---|
On TimeWindows, JoinWindows, SessionWindows: /** * Reject late events that arrive more than {@code millisAfterWindowEnd} * after the end of its window. * * Lateness is defined as (stream_time - record_timestamp). * * @param millisAfterWindowEnd The grace period to admit late-arriving events to a window. * @return this updated builder */ @SuppressWarnings("deprecation") // will be fixed when we remove segments from Windows public XWindows grace(final long millisAfterWindowEnd); // where XWindows is the appropriate builder On Windows (and SessionWindows, although it's not abstract there): + /** + * Return the window grace period (the time to admit + * late-arriving events after the end of the window. + */ + public abstract long gracePeriodMs(); /** ... + * @deprecated since 2.1. Use {@link Joined#retention()} + * or {@link Materialized#retention} + * or directly configure the retention in a store supplier and use + * {@link Materialized#as(WindowBytesStoreSupplier)}. */ + @Deprecated public Windows<W> until(final long durationMs); /** ... * @deprecated since 2.1. Use {@link Joined#retention()} or {@link Materialized#retention} instead. */ @Deprecated public long maintainMs(); /** ... * @deprecated since 2.1. Instead, directly configure the segment interval in a store supplier and use {@link Materialized#as(WindowBytesStoreSupplier)}. */ @Deprecated public long segmentInterval(); |
Note for UnlimitedWindows in particular, the grace period is meaningless because the window never ends. Therefore, we provide this interface instead:
No Format |
---|
/**
* Throws an {@link IllegalArgumentException} because the window never ends and the
* grace period is therefore meaningless.
*
* @throws IllegalArgumentException on every invocation
*/
@Override
public Windows<UnlimitedWindow> grace(final long millisAfterWindowEnd); |
The Window/Session BytesStoreSupplier interface already includes retention period. The existing behavior is that that retention period overrides maintainMs if set on the window. We'll preserve this behavior.
...