@Internal public class DynamicKafkaSourceEnumerator extends Object implements org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>
KafkaSourceEnumerator's, which does not have any
synchronization since it assumes single threaded execution.| Constructor and Description |
|---|
DynamicKafkaSourceEnumerator(KafkaStreamSubscriber kafkaStreamSubscriber,
KafkaMetadataService kafkaMetadataService,
org.apache.flink.api.connector.source.SplitEnumeratorContext<DynamicKafkaSourceSplit> enumContext,
OffsetsInitializer startingOffsetsInitializer,
OffsetsInitializer stoppingOffsetInitializer,
Properties properties,
org.apache.flink.api.connector.source.Boundedness boundedness,
DynamicKafkaSourceEnumState dynamicKafkaSourceEnumState) |
| Modifier and Type | Method and Description |
|---|---|
void |
addReader(int subtaskId)
NOTE: this happens at startup and failover.
|
void |
addSplitsBack(List<DynamicKafkaSourceSplit> splits,
int subtaskId) |
void |
close() |
void |
handleSourceEvent(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent sourceEvent) |
void |
handleSplitRequest(int subtaskId,
String requesterHostname)
Multi cluster Kafka source readers will not request splits.
|
DynamicKafkaSourceEnumState |
snapshotState(long checkpointId)
Besides for checkpointing, this method is used in the restart sequence to retain the relevant
assigned splits so that there is no reader duplicate split assignment.
|
void |
start()
Discover Kafka clusters and initialize sub enumerators.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic DynamicKafkaSourceEnumerator(KafkaStreamSubscriber kafkaStreamSubscriber, KafkaMetadataService kafkaMetadataService, org.apache.flink.api.connector.source.SplitEnumeratorContext<DynamicKafkaSourceSplit> enumContext, OffsetsInitializer startingOffsetsInitializer, OffsetsInitializer stoppingOffsetInitializer, Properties properties, org.apache.flink.api.connector.source.Boundedness boundedness, DynamicKafkaSourceEnumState dynamicKafkaSourceEnumState)
public void start()
start in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>public void handleSplitRequest(int subtaskId,
@Nullable
String requesterHostname)
handleSplitRequest in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>public void addSplitsBack(List<DynamicKafkaSourceSplit> splits, int subtaskId)
addSplitsBack in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>public void addReader(int subtaskId)
addReader in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>public DynamicKafkaSourceEnumState snapshotState(long checkpointId) throws Exception
createEnumeratorWithAssignedTopicPartitions(String, Set, KafkaSourceEnumState, Properties)}snapshotState in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>Exceptionpublic void handleSourceEvent(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent sourceEvent)
handleSourceEvent in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>public void close()
throws IOException
close in interface AutoCloseableclose in interface org.apache.flink.api.connector.source.SplitEnumerator<DynamicKafkaSourceSplit,DynamicKafkaSourceEnumState>IOExceptionCopyright © 2022–2024 The Apache Software Foundation. All rights reserved.