Class MetadataUpdateEvent

java.lang.Object
org.apache.flink.connector.kafka.dynamic.source.MetadataUpdateEvent
All Implemented Interfaces:
Serializable, org.apache.flink.api.connector.source.SourceEvent

@Internal public class MetadataUpdateEvent extends Object implements org.apache.flink.api.connector.source.SourceEvent
Signals DynamicKafkaSourceReader to stop their underlying readers. The restart process is as follows:

1. Detect metadata change in enumerator 2. Stop sub enumerators and don't snapshot state 3. Send this event to all readers 4. Stop sub readers and snapshot state (offsets) 5. Start new sub enumerators with clean state and do total split reassignment to readers 6. Readers obtain splits, starting sub readers dynamically, and do reconciliation of starting offsets with the cached offsets

We don't snapshot enumerator state because we want to reassign previously assigned splits. After restart, readers need to reinitialize the sub readers by using the received splits.

See Also: