Class CountEvictionPolicy<T>

java.lang.Object
org.apache.storm.windowing.CountEvictionPolicy<T>
Type Parameters:
T - the type of event tracked by this policy.
All Implemented Interfaces:
EvictionPolicy<T,Long>

public class CountEvictionPolicy<T> extends Object implements EvictionPolicy<T,Long>
An eviction policy that tracks event counts and can evict based on a threshold count.
  • Field Details

    • threshold

      protected final int threshold
    • currentCount

      protected final AtomicLong currentCount
  • Constructor Details

    • CountEvictionPolicy

      public CountEvictionPolicy(int count)
  • Method Details

    • evict

      public EvictionPolicy.Action evict(Event<T> event)
      Description copied from interface: EvictionPolicy
      Decides if an event should be expired from the window, processed in the current window or kept for later processing.
      Specified by:
      evict in interface EvictionPolicy<T,Long>
      Parameters:
      event - the input event
      Returns:
      the EvictionPolicy.Action to be taken based on the input event
    • track

      public void track(Event<T> event)
      Description copied from interface: EvictionPolicy
      Tracks the event to later decide whether EvictionPolicy.evict(Event) should evict it or not.
      Specified by:
      track in interface EvictionPolicy<T,Long>
      Parameters:
      event - the input event to be tracked
    • getContext

      public EvictionContext getContext()
      Description copied from interface: EvictionPolicy
      Returns the current context that is part of this eviction policy.
      Specified by:
      getContext in interface EvictionPolicy<T,Long>
      Returns:
      the eviction context
    • setContext

      public void setContext(EvictionContext context)
      Description copied from interface: EvictionPolicy
      Sets a context in the eviction policy that can be used while evicting the events. E.g. For TimeEvictionPolicy, this could be used to set the reference timestamp.
      Specified by:
      setContext in interface EvictionPolicy<T,Long>
      Parameters:
      context - the eviction context
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • reset

      public void reset()
      Description copied from interface: EvictionPolicy
      Resets the eviction policy.
      Specified by:
      reset in interface EvictionPolicy<T,Long>
    • getState

      public Long getState()
      Description copied from interface: EvictionPolicy
      Return runtime state to be checkpointed by the framework for restoring the eviction policy in case of failures.
      Specified by:
      getState in interface EvictionPolicy<T,Long>
      Returns:
      the state
    • restoreState

      public void restoreState(Long state)
      Description copied from interface: EvictionPolicy
      Restore the eviction policy from the state that was earlier checkpointed by the framework.
      Specified by:
      restoreState in interface EvictionPolicy<T,Long>
      Parameters:
      state - the state