Hi Martijn, Thanks for the comments! In general I agree we should avoid feature sparsity.
In this particular case, connectors are a bit different than most other features in Flink. AFAIK, we plan to move connectors (including Kafka and Pulsar) out of the Flink project in the future, which means that the development of these connectors will be mostly de-centralized (outside of Flink) and be up to their respective maintainers. While I agree that we should provide API/infrastructure in Flink (as this FLIP does) to support feature consistency across connectors, I am not sure we should own the responsibility to actually update all connectors to achieve feature consistency, given that we don't plan to do it in Flink anyway due to its heavy burden. With that being said, I am happy to follow the community guideline if we decide that connector-related FLIP should update every connector's API to ensure feature consistency (to a reasonable extent). For example, in this particular case, it looks like the EOF-detection feature can be applied to every connector (including bounded sources). Is it still sufficient to just update Kafka, Pulsar and Kinesis? Thanks, Dong On Tue, Jan 4, 2022 at 3:31 PM Martijn Visser <mart...@ververica.com> wrote: > Hi Dong, > > Thanks for writing the FLIP. It focusses only on the KafkaSource, but I > would expect that if such a functionality is desired, it should be made > available for all unbounded sources (for example, Pulsar and Kinesis). If > it's only available for Kafka, I see it as if we're increasing feature > sparsity while we actually want to decrease that. What do you think? > > Best regards, > > Martijn > > On Tue, 4 Jan 2022 at 08:04, Dong Lin <lindon...@gmail.com> wrote: > > > Hi all, > > > > We created FLIP-208: Update KafkaSource to detect EOF based on > > de-serialized records. Please find the KIP wiki in the link > > > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-208%3A+Update+KafkaSource+to+detect+EOF+based+on+de-serialized+records > > . > > > > This FLIP aims to address the use-case where users need to stop a Flink > job > > gracefully based on the content of de-serialized records observed in the > > KafkaSource. This feature is needed by users who currently depend on > > KafkaDeserializationSchema::isEndOfStream() to migrate their Flink job > from > > FlinkKafkaConsumer to KafkaSource. > > > > Could you help review this FLIP when you get time? Your comments are > > appreciated! > > > > Cheers, > > Dong > > >