Interface WatermarkHoldState

All Superinterfaces:
GroupingState<Instant,Instant>, ReadableState<Instant>, State

@Internal public interface WatermarkHoldState extends GroupingState<Instant,Instant>
For internal use only; no backwards-compatibility guarantees.

A State accepting and aggregating timestamps according to a TimestampCombiner, holding the output watermark to the resulting timestamp.

  • Method Summary

    Modifier and Type
    Method
    Description
    Return the TimestampCombiner which will be used to determine a watermark hold time given an element timestamp, and to combine watermarks from windows which are about to be merged.
    Indicate that the value will be read later.
    default void
    For internal use only; no backwards-compatibility guarantees.

    Methods inherited from interface org.apache.beam.sdk.state.GroupingState

    add, isEmpty

    Methods inherited from interface org.apache.beam.sdk.state.ReadableState

    read

    Methods inherited from interface org.apache.beam.sdk.state.State

    clear
  • Method Details

    • getTimestampCombiner

      TimestampCombiner getTimestampCombiner()
      Return the TimestampCombiner which will be used to determine a watermark hold time given an element timestamp, and to combine watermarks from windows which are about to be merged.
    • readLater

      WatermarkHoldState readLater()
      Description copied from interface: ReadableState
      Indicate that the value will be read later.

      This allows an implementation to start an asynchronous prefetch or to include this state in the next batch of reads.

      Specified by:
      readLater in interface GroupingState<Instant,Instant>
      Specified by:
      readLater in interface ReadableState<Instant>
      Returns:
      this for convenient chaining
    • setKnownEmpty

      @Internal default void setKnownEmpty()
      For internal use only; no backwards-compatibility guarantees.

      Permit marking the state as empty locally, without necessarily clearing it in the backend.

      This may be used by runners to optimize out unnecessary state reads.