SplitT - the type of the splits.@Internal public class SourceCoordinatorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit> extends Object implements org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT>, org.apache.flink.api.connector.source.SupportsIntermediateNoMoreSplits, AutoCloseable
OperatorCoordinator. Compared with SplitEnumeratorContext
this class allows interaction with state and sending OperatorEvent to the SourceOperator
while SplitEnumeratorContext only allows sending SourceEvent.
The context serves a few purposes:
SourceEvents to the source readers.
| Constructor and Description |
|---|
SourceCoordinatorContext(SourceCoordinatorProvider.CoordinatorExecutorThreadFactory coordinatorThreadFactory,
int numWorkerThreads,
OperatorCoordinator.Context operatorCoordinatorContext,
org.apache.flink.core.io.SimpleVersionedSerializer<SplitT> splitSerializer,
boolean supportsConcurrentExecutionAttempts) |
| Modifier and Type | Method and Description |
|---|---|
void |
assignSplits(org.apache.flink.api.connector.source.SplitsAssignment<SplitT> assignment) |
<T> void |
callAsync(Callable<T> callable,
java.util.function.BiConsumer<T,Throwable> handler) |
<T> void |
callAsync(Callable<T> callable,
java.util.function.BiConsumer<T,Throwable> handler,
long initialDelay,
long period) |
void |
close() |
int |
currentParallelism() |
org.apache.flink.util.TernaryBoolean |
isBacklog()
Returns whether the Source is processing backlog data.
|
org.apache.flink.metrics.groups.SplitEnumeratorMetricGroup |
metricGroup() |
Map<Integer,org.apache.flink.api.connector.source.ReaderInfo> |
registeredReaders() |
Map<Integer,Map<Integer,org.apache.flink.api.connector.source.ReaderInfo>> |
registeredReadersOfAttempts() |
void |
runInCoordinatorThread(Runnable runnable)
If the runnable throws an Exception, the corresponding job is failed.
|
void |
sendEventToSourceReader(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent event) |
void |
sendEventToSourceReader(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent event) |
void |
setIsProcessingBacklog(boolean isProcessingBacklog) |
void |
signalIntermediateNoMoreSplits(int subtask) |
void |
signalNoMoreSplits(int subtask) |
public SourceCoordinatorContext(SourceCoordinatorProvider.CoordinatorExecutorThreadFactory coordinatorThreadFactory, int numWorkerThreads, OperatorCoordinator.Context operatorCoordinatorContext, org.apache.flink.core.io.SimpleVersionedSerializer<SplitT> splitSerializer, boolean supportsConcurrentExecutionAttempts)
public org.apache.flink.metrics.groups.SplitEnumeratorMetricGroup metricGroup()
metricGroup in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void sendEventToSourceReader(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent event)
sendEventToSourceReader in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void sendEventToSourceReader(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent event)
sendEventToSourceReader in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public int currentParallelism()
currentParallelism in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public Map<Integer,org.apache.flink.api.connector.source.ReaderInfo> registeredReaders()
registeredReaders in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public Map<Integer,Map<Integer,org.apache.flink.api.connector.source.ReaderInfo>> registeredReadersOfAttempts()
registeredReadersOfAttempts in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void assignSplits(org.apache.flink.api.connector.source.SplitsAssignment<SplitT> assignment)
assignSplits in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void signalNoMoreSplits(int subtask)
signalNoMoreSplits in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void signalIntermediateNoMoreSplits(int subtask)
signalIntermediateNoMoreSplits in interface org.apache.flink.api.connector.source.SupportsIntermediateNoMoreSplitspublic <T> void callAsync(Callable<T> callable, java.util.function.BiConsumer<T,Throwable> handler, long initialDelay, long period)
callAsync in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public <T> void callAsync(Callable<T> callable, java.util.function.BiConsumer<T,Throwable> handler)
callAsync in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void runInCoordinatorThread(Runnable runnable)
runInCoordinatorThread in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void close()
throws InterruptedException
close in interface AutoCloseableInterruptedExceptionpublic void setIsProcessingBacklog(boolean isProcessingBacklog)
setIsProcessingBacklog in interface org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public org.apache.flink.util.TernaryBoolean isBacklog()
setIsProcessingBacklog(boolean) method.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.