Hi Dong,

Thank you for updating the FLIP and making it applicable for all
sources. I am a bit unsure about the implementation part. I would
propose to add a source mixin interface that implements
`getRecordEvaluator` and sources that want to allow dynamically
stopping implement that interface.

Another question I had was how do we treat sources using the record
evaluator as bounded or unbounded?

Best,
Fabian

On Sat, Jan 8, 2022 at 11:52 AM Dong Lin <lindon...@gmail.com> wrote:
>
> Hi Martijn and Qingsheng,
>
> The FLIP has been updated to extend the dynamic EOF support for the
> PulsarSource. I have not extended this feature to other sources yet since I
> am not sure it is a requirement to ensure feature consistency across
> different sources. Could you take another look?
>
> Thanks,
> Dong
>
> On Fri, Jan 7, 2022 at 11:49 PM Dong Lin <lindon...@gmail.com> wrote:
>
> > 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
> >> >
> >>
> >

Reply via email to