Class AsyncStateWindowAggOperator<K,W>

java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<OUT>
org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<OUT>
org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>
org.apache.flink.table.runtime.operators.window.async.tvf.common.AsyncStateWindowAggOperator<K,W>
All Implemented Interfaces:
Serializable, org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.streaming.api.operators.Input<org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.KeyContext, org.apache.flink.streaming.api.operators.KeyContextHandler, org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.StreamOperator<org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator, org.apache.flink.streaming.api.operators.Triggerable<K,W>, org.apache.flink.streaming.api.operators.YieldingOperator<org.apache.flink.table.data.RowData>, org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessing, org.apache.flink.streaming.runtime.operators.asyncprocessing.AsyncStateProcessingOperator

@Internal public final class AsyncStateWindowAggOperator<K,W> extends AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData> implements org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>, org.apache.flink.streaming.api.operators.Triggerable<K,W>, org.apache.flink.streaming.api.operators.KeyContext
A processor that processes elements for windows with async state api.

Different with WindowAggOperator, this class mainly handles processing related to async state.

You can see more at WindowAggOperator.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator

    AsyncStateTableStreamOperator.ContextImpl
  • Field Summary

    Fields inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator

    ctx, currentWatermark

    Fields inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator

    declarationManager

    Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator

    combinedWatermark, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
  • Constructor Summary

    Constructors
    Constructor
    Description
    AsyncStateWindowAggOperator(AsyncStateWindowProcessor<W> windowProcessor, boolean isEventTime)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    org.apache.flink.metrics.Counter
     
    org.apache.flink.metrics.Gauge<Long>
     
    void
    initializeState(org.apache.flink.runtime.state.StateInitializationContext context)
     
    void
    onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer)
     
    void
    onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer)
     
    void
     
    void
    prepareSnapshotPreBarrier(long checkpointId)
     
    org.apache.flink.streaming.api.watermark.Watermark
    preProcessWatermark(org.apache.flink.streaming.api.watermark.Watermark mark)
     
    void
    processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element)
     
    void
    snapshotState(org.apache.flink.runtime.state.StateSnapshotContext context)
     

    Methods inherited from class org.apache.flink.table.runtime.operators.AsyncStateTableStreamOperator

    computeMemorySize, useSplittableTimers

    Methods inherited from class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator

    asyncProcessWithKey, beforeInitializeStateHandler, drainStateRequests, finish, getAsyncKeyedStateBackend, getCurrentKey, getDeclarationManager, getElementOrder, getInternalTimerService, getOrCreateKeyedState, getRecordProcessor, isAsyncStateProcessingEnabled, newKeySelected, postProcessElement, postProcessWatermark, preserveRecordOrderAndProcess, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark1Internal, processWatermark2, processWatermark2Internal, processWatermarkInternal, processWatermarkStatus, processWatermarkStatus, reportOrForwardLatencyMarker, setAsyncKeyedContextElement, setKeyContextElement1, setKeyContextElement2

    Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator

    getContainingTask, getExecutionConfig, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus1, processWatermarkStatus2, setCurrentKey, setMailboxExecutor, setProcessingTimeService, setup, snapshotState

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.flink.api.common.state.CheckpointListener

    notifyCheckpointAborted, notifyCheckpointComplete

    Methods inherited from interface org.apache.flink.streaming.api.operators.Input

    processLatencyMarker, processRecordAttributes, processWatermark, processWatermark, processWatermarkStatus

    Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContext

    getCurrentKey, setCurrentKey

    Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContextHandler

    hasKeyContext

    Methods inherited from interface org.apache.flink.streaming.api.operators.OneInputStreamOperator

    setKeyContextElement

    Methods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator

    finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, setKeyContextElement1, setKeyContextElement2, snapshotState
  • Constructor Details

    • AsyncStateWindowAggOperator

      public AsyncStateWindowAggOperator(AsyncStateWindowProcessor<W> windowProcessor, boolean isEventTime)
  • Method Details

    • open

      public void open() throws Exception
      Specified by:
      open in interface org.apache.flink.streaming.api.operators.StreamOperator<K>
      Overrides:
      open in class AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • initializeState

      public void initializeState(org.apache.flink.runtime.state.StateInitializationContext context) throws Exception
      Specified by:
      initializeState in interface org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator
      Overrides:
      initializeState in class org.apache.flink.streaming.api.operators.AbstractStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • snapshotState

      public void snapshotState(org.apache.flink.runtime.state.StateSnapshotContext context) throws Exception
      Specified by:
      snapshotState in interface org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator
      Overrides:
      snapshotState in class org.apache.flink.streaming.api.operators.AbstractStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • close

      public void close() throws Exception
      Specified by:
      close in interface org.apache.flink.streaming.api.operators.StreamOperator<K>
      Overrides:
      close in class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • processElement

      public void processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.table.data.RowData> element) throws Exception
      Specified by:
      processElement in interface org.apache.flink.streaming.api.operators.Input<K>
      Throws:
      Exception
    • preProcessWatermark

      public org.apache.flink.streaming.api.watermark.Watermark preProcessWatermark(org.apache.flink.streaming.api.watermark.Watermark mark) throws Exception
      Overrides:
      preProcessWatermark in class AsyncStateTableStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • onEventTime

      public void onEventTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer) throws Exception
      Specified by:
      onEventTime in interface org.apache.flink.streaming.api.operators.Triggerable<K,W>
      Throws:
      Exception
    • onProcessingTime

      public void onProcessingTime(org.apache.flink.streaming.api.operators.InternalTimer<K,W> timer) throws Exception
      Specified by:
      onProcessingTime in interface org.apache.flink.streaming.api.operators.Triggerable<K,W>
      Throws:
      Exception
    • prepareSnapshotPreBarrier

      public void prepareSnapshotPreBarrier(long checkpointId) throws Exception
      Specified by:
      prepareSnapshotPreBarrier in interface org.apache.flink.streaming.api.operators.StreamOperator<K>
      Overrides:
      prepareSnapshotPreBarrier in class org.apache.flink.runtime.asyncprocessing.operators.AbstractAsyncStateStreamOperator<org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • getNumLateRecordsDropped

      @VisibleForTesting public org.apache.flink.metrics.Counter getNumLateRecordsDropped()
    • getWatermarkLatency

      @VisibleForTesting public org.apache.flink.metrics.Gauge<Long> getWatermarkLatency()