Class AsyncPurgingTrigger<T,W extends Window>
java.lang.Object
org.apache.flink.runtime.asyncprocessing.operators.windowing.triggers.AsyncTrigger<T,W>
org.apache.flink.runtime.asyncprocessing.operators.windowing.triggers.AsyncPurgingTrigger<T,W>
- Type Parameters:
T- The type of elements on which this trigger can operate.W- The type ofWindowson which this trigger can operate.
- All Implemented Interfaces:
Serializable
A trigger that can turn any
AsyncTrigger into a purging Trigger. This is for
async window operator
When the nested trigger fires, this will return a FIRE_AND_PURGE TriggerResult.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.flink.runtime.asyncprocessing.operators.windowing.triggers.AsyncTrigger
AsyncTrigger.OnMergeContext, AsyncTrigger.TriggerContext -
Method Summary
Modifier and TypeMethodDescriptionbooleancanMerge()Returns true if this trigger supports merging of trigger state and can therefore be used with aMergingWindowAssigner.org.apache.flink.api.common.state.v2.StateFuture<Void>clear(W window, AsyncTrigger.TriggerContext ctx) Clears any state that the trigger might still hold for the given window.static <T,W extends Window>
AsyncPurgingTrigger<T,W> of(AsyncTrigger<T, W> nestedTrigger) Creates a new purging trigger from the givenTrigger.org.apache.flink.api.common.state.v2.StateFuture<TriggerResult>onElement(T element, long timestamp, W window, AsyncTrigger.TriggerContext ctx) Called for every element that gets added to a pane.org.apache.flink.api.common.state.v2.StateFuture<TriggerResult>onEventTime(long time, W window, AsyncTrigger.TriggerContext ctx) Called when an event-time timer that was set using the trigger context fires.voidonMerge(W window, AsyncTrigger.OnMergeContext ctx) Called when several windows have been merged into one window by theWindowAssigner.org.apache.flink.api.common.state.v2.StateFuture<TriggerResult>onProcessingTime(long time, W window, AsyncTrigger.TriggerContext ctx) Called when a processing-time timer that was set using the trigger context fires.toString()Methods inherited from class org.apache.flink.runtime.asyncprocessing.operators.windowing.triggers.AsyncTrigger
isEndOfStreamTrigger
-
Method Details
-
onElement
public org.apache.flink.api.common.state.v2.StateFuture<TriggerResult> onElement(T element, long timestamp, W window, AsyncTrigger.TriggerContext ctx) throws Exception Description copied from class:AsyncTriggerCalled for every element that gets added to a pane. The result of this will determine whether the pane is evaluated to emit results.- Specified by:
onElementin classAsyncTrigger<T,W extends Window> - Parameters:
element- The element that arrived.timestamp- The timestamp of the element that arrived.window- The window to which the element is being added.ctx- A context object that can be used to register timer callbacks.- Throws:
Exception
-
onEventTime
public org.apache.flink.api.common.state.v2.StateFuture<TriggerResult> onEventTime(long time, W window, AsyncTrigger.TriggerContext ctx) throws Exception Description copied from class:AsyncTriggerCalled when an event-time timer that was set using the trigger context fires.- Specified by:
onEventTimein classAsyncTrigger<T,W extends Window> - Parameters:
time- The timestamp at which the timer fired.window- The window for which the timer fired.ctx- A context object that can be used to register timer callbacks.- Throws:
Exception
-
onProcessingTime
public org.apache.flink.api.common.state.v2.StateFuture<TriggerResult> onProcessingTime(long time, W window, AsyncTrigger.TriggerContext ctx) throws Exception Description copied from class:AsyncTriggerCalled when a processing-time timer that was set using the trigger context fires.- Specified by:
onProcessingTimein classAsyncTrigger<T,W extends Window> - Parameters:
time- The timestamp at which the timer fired.window- The window for which the timer fired.ctx- A context object that can be used to register timer callbacks.- Throws:
Exception
-
clear
public org.apache.flink.api.common.state.v2.StateFuture<Void> clear(W window, AsyncTrigger.TriggerContext ctx) throws Exception Description copied from class:AsyncTriggerClears any state that the trigger might still hold for the given window. This is called when a window is purged. Timers set usingAsyncTrigger.TriggerContext.registerEventTimeTimer(long)andAsyncTrigger.TriggerContext.registerProcessingTimeTimer(long)should be deleted here as well as state acquired usingAsyncTrigger.TriggerContext.getPartitionedState(StateDescriptor). -
canMerge
public boolean canMerge()Description copied from class:AsyncTriggerReturns true if this trigger supports merging of trigger state and can therefore be used with aMergingWindowAssigner.If this returns
trueyou must properly implementAsyncTrigger.onMerge(Window, OnMergeContext)- Overrides:
canMergein classAsyncTrigger<T,W extends Window>
-
onMerge
Description copied from class:AsyncTriggerCalled when several windows have been merged into one window by theWindowAssigner. -
toString
-
of
Creates a new purging trigger from the givenTrigger.- Parameters:
nestedTrigger- The trigger that is wrapped by this purging trigger
-
getNestedTrigger
-