Class LockRemover

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.streaming.api.operators.Input<TaskResult>, org.apache.flink.streaming.api.operators.KeyContext, org.apache.flink.streaming.api.operators.KeyContextHandler, org.apache.flink.streaming.api.operators.OneInputStreamOperator<TaskResult,​java.lang.Void>, org.apache.flink.streaming.api.operators.SetupableStreamOperator<java.lang.Void>, org.apache.flink.streaming.api.operators.StreamOperator<java.lang.Void>, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator, org.apache.flink.streaming.api.operators.YieldingOperator<java.lang.Void>

    @Internal
    public class LockRemover
    extends org.apache.flink.streaming.api.operators.AbstractStreamOperator<java.lang.Void>
    implements org.apache.flink.streaming.api.operators.OneInputStreamOperator<TaskResult,​java.lang.Void>
    Manages locks and collect Metric for the Maintenance Tasks.

    The assumptions about the locks are the following:

    • Every TaskResult is followed by a Watermark for normal Triggers
    • For the Trigger.recovery(long) Watermark there is no element to process
    When processing the inputs there are 3 possibilities:
    See Also:
    Serialized Form
    • Field Summary

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

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

      Constructors 
      Constructor Description
      LockRemover​(TriggerLockFactory lockFactory, java.util.List<java.lang.String> maintenanceTaskNames)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void open()  
      void processElement​(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<TaskResult> streamRecord)  
      void processWatermark​(org.apache.flink.streaming.api.watermark.Watermark mark)  
      • Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator

        close, finish, getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotState, useSplittableTimers
      • 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, 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

        close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
    • Constructor Detail

      • LockRemover

        public LockRemover​(TriggerLockFactory lockFactory,
                           java.util.List<java.lang.String> maintenanceTaskNames)
    • Method Detail

      • open

        public void open()
                  throws java.lang.Exception
        Specified by:
        open in interface org.apache.flink.streaming.api.operators.StreamOperator<java.lang.Void>
        Overrides:
        open in class org.apache.flink.streaming.api.operators.AbstractStreamOperator<java.lang.Void>
        Throws:
        java.lang.Exception
      • processElement

        public void processElement​(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<TaskResult> streamRecord)
        Specified by:
        processElement in interface org.apache.flink.streaming.api.operators.Input<TaskResult>
      • processWatermark

        public void processWatermark​(org.apache.flink.streaming.api.watermark.Watermark mark)
        Specified by:
        processWatermark in interface org.apache.flink.streaming.api.operators.Input<TaskResult>
        Overrides:
        processWatermark in class org.apache.flink.streaming.api.operators.AbstractStreamOperator<java.lang.Void>