Package org.apache.storm.windowing
Class WatermarkTimeEvictionPolicy<T>
java.lang.Object
org.apache.storm.windowing.TimeEvictionPolicy<T>
org.apache.storm.windowing.WatermarkTimeEvictionPolicy<T>
- All Implemented Interfaces:
- EvictionPolicy<T,- EvictionContext> 
An eviction policy that evicts events based on time duration taking watermark time and event lag into account.
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.storm.windowing.EvictionPolicyEvictionPolicy.Action
- 
Field SummaryFields inherited from class org.apache.storm.windowing.TimeEvictionPolicyevictionContext
- 
Constructor SummaryConstructorsConstructorDescriptionWatermarkTimeEvictionPolicy(int windowLength) Constructs a WatermarkTimeEvictionPolicy that evicts events older than the given window length in millis.WatermarkTimeEvictionPolicy(int windowLength, int lag) Constructs a WatermarkTimeEvictionPolicy that evicts events older than the given window length in millis.
- 
Method SummaryMethods inherited from class org.apache.storm.windowing.TimeEvictionPolicygetContext, getState, reset, restoreState, setContext, track
- 
Constructor Details- 
WatermarkTimeEvictionPolicypublic WatermarkTimeEvictionPolicy(int windowLength) Constructs a WatermarkTimeEvictionPolicy that evicts events older than the given window length in millis.- Parameters:
- windowLength- the window length in milliseconds
 
- 
WatermarkTimeEvictionPolicypublic WatermarkTimeEvictionPolicy(int windowLength, int lag) Constructs a WatermarkTimeEvictionPolicy that evicts events older than the given window length in millis. The lag parameter can be used in the case of event based ts to break the queue scan early.- Parameters:
- windowLength- the window length in milliseconds
- lag- the max event lag in milliseconds
 
 
- 
- 
Method Details- 
evictDecides if an event should be expired from the window, processed in the current window or kept for later processing. Keeps events with future ts in the queue for processing in the next window. If the ts difference is more than the lag, stops scanning the queue for the current window.- Specified by:
- evictin interface- EvictionPolicy<T,- EvictionContext> 
- Overrides:
- evictin class- TimeEvictionPolicy<T>
- Parameters:
- event- the input event
- Returns:
- the EvictionPolicy.Actionto be taken based on the input event
 
- 
toString- Overrides:
- toStringin class- TimeEvictionPolicy<T>
 
 
-