Flink 是否知道 Kafka 分区在运行时的添加



我有一个问题 aboult Flink-Kafka 来源:

当 flink 应用程序从检查点恢复后启动时,并且运行良好。

在运行过程中,服务器 Kafka 分区被添加到 Kafka 主题中,正在运行的 flink 应用程序是否会知道这些添加的分区并无需手动操作即可读取它们? 还是我必须重新启动应用程序并让 flink 在启动时知道这些分区?

您能否指出 Flink 处理 Kafka 分区更改的代码,如果添加分区不需要手动操作。我没有在代码中找到逻辑。

谢谢!

看起来 Flink 在运行时会意识到新主题和新分区,方法调用顺序为:

FlinkKafkaConsumerBase#run

FlinkKafkaConsumerBase#runWithPartitionDiscovery

FlinkKafkaConsumerBase#createAndStartDiscoveryLoop

这是最后一种方法,它将启动一个新线程以定期发现新主题/分区

最新更新