THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
/**
* The fixed-size sliding window specifications used for aggregations.
* <p>
* The semantics of sliding aggregation windows are: Compute the aggregate total for the unique current window, from
* the current stream time to T1 (size) milliseconds before. Both the lower and upper time interval bounds are inclusive.
*
* Thus, the specified {@link TimeWindow} is not aligned to the epoch, but to record timestamps.
* Aligned to the epoch means, that the first window starts at timestamp zero.
* <p>
* For time semantics, see {@link TimestampExtractor}.
*
* @see TimeWindows
* @see SessionWindows
* @see UnlimitedWindows
* @see JoinWindows
* @see KGroupedStream#windowedBy(Windows)
* @see TimestampExtractor
*/
public final class SlidingWindows extends Windows<TimeWindow> {
/** The size of the windows in milliseconds. */
public final long sizeMs;
/** The grace period in milliseconds. */
private final long graceMs;
public static SlidingWindows of(final Duration size) throws IllegalArgumentException{
//allows the user to set the size of the window in milliseconds, must be larger than 0
}
public SlidingWindows grace(final Duration afterWindowEnd) throws IllegalArgumentException{
//allows the user to set the "grace period" or retention time for the windows, cannot be negative
}
} |
...
Describe the new thing you want to do in appropriate detail. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences. Use judgement based on the scope of the change.
Alter KStreamWindowAggregate to properly handle SlidingWindows.
Compatibility, Deprecation, and Migration Plan
...