Hi all,

Thanks for all the valuable feedback. If there's no further question or
concern, I will start voting for FLIP-294 [1] later.

[1]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-294%3A+Support+Customized+Catalog+Modification+Listener

Best,
Shammon FY


On Fri, Jun 9, 2023 at 9:07 AM Shammon FY <zjur...@gmail.com> wrote:

> Thanks Jing, it makes sense to me and I have updated the FLIP
>
>
> Best,
> Shammon FY
>
>
> On Thu, Jun 8, 2023 at 11:15 PM Jing Ge <j...@ververica.com.invalid>
> wrote:
>
>> Hi Shammon,
>>
>> If we take a look at the JDK Event design as a reference, we can even add
>> an Object into the event [1]. Back to the CatalogModificationEvent,
>> everything related to the event could be defined in the Event. If we want
>> to group some information into the Context, we could also consider adding
>> the CatalogModificationContext into the Event and make the onEvent()
>> method
>> cleaner with only one input parameter CatalogModificationEvent, because
>> the
>> interface CatalogModificationListener is the most often used interface for
>> users. Just my two cents.
>>
>> Best regards,
>> Jing
>>
>> [1]
>>
>> http://www.java2s.com/example/java-src/pkg/java/util/eventobject-85298.html
>>
>> On Thu, Jun 8, 2023 at 7:50 AM Shammon FY <zjur...@gmail.com> wrote:
>>
>> > Hi,
>> >
>> > To @Jing Ge
>> > > Thanks for the clarification. Just out of curiosity, if the context is
>> > not part of the event, why should it be the input parameter of each
>> onEvent
>> > call?
>> >
>> > I think it's quite strange to put some information in an Event, such as
>> a
>> > factory identifier for catalog, but they will be used by the listener.
>> I
>> > place it in the context class and I think it is more suitable than
>> directly
>> > placing it in the event class.
>> >
>> > To @Mason
>> > > 1. I'm also curious about default implementations. Would
>> atlas/datahub be
>> > supported by default?
>> >
>> > We won't do that and external systems such as atlas/datahub need to
>> > implement the listener themselves.
>> >
>> > > 2. The FLIP title is confusing to me, especially in distinguishing it
>> > from FLIP-314. Would a better FLIP title be "Support Catalog Metadata
>> > Listener" or something alike?
>> >
>> > Thanks, I think  "Support Catalog Modification Listener" will be
>> > more suitable, I'll update the title to it.
>> >
>> >
>> > Best,
>> > Shammon FY
>> >
>> >
>> > On Thu, Jun 8, 2023 at 12:25 PM Mason Chen <mas.chen6...@gmail.com>
>> wrote:
>> >
>> > > Hi Shammon,
>> > >
>> > > FLIP generally looks good and I'm excited to see this feature.
>> > >
>> > > 1. I'm also curious about default implementations. Would
>> atlas/datahub be
>> > > supported by default?
>> > > 2. The FLIP title is confusing to me, especially in distinguishing it
>> > from
>> > > FLIP-314. Would a better FLIP title be "Support Catalog Metadata
>> > Listener"
>> > > or something alike?
>> > >
>> > > Best,
>> > > Mason
>> > >
>> > > On Tue, Jun 6, 2023 at 3:33 AM Jing Ge <j...@ververica.com.invalid>
>> > wrote:
>> > >
>> > > > Hi Shammon,
>> > > >
>> > > > Thanks for the clarification. Just out of curiosity, if the context
>> is
>> > > not
>> > > > part of the event, why should it be the input parameter of each
>> onEvent
>> > > > call?
>> > > >
>> > > > Best regards,
>> > > > Jing
>> > > >
>> > > > On Tue, Jun 6, 2023 at 11:58 AM Leonard Xu <xbjt...@gmail.com>
>> wrote:
>> > > >
>> > > > > Thanks Shammon for the timely update, the updated FLIP looks good
>> to
>> > > me.
>> > > > >
>> > > > > Hope to see the vote thread and following FLIP-314 discussion
>> thread.
>> > > > >
>> > > > > Best,
>> > > > > Leonard
>> > > > >
>> > > > > > On Jun 6, 2023, at 5:04 PM, Shammon FY <zjur...@gmail.com>
>> wrote:
>> > > > > >
>> > > > > > Hi,
>> > > > > >
>> > > > > > Thanks for all the feedback.
>> > > > > >
>> > > > > > For @Jing Ge,
>> > > > > > I forget to update the demo code in the FLIP, the method is
>> > > > > > `onEvent(CatalogModificationEvent, CatalogModificationContext)`
>> and
>> > > > there
>> > > > > > is no `onEvent(CatalogModificationEvent)`. I have updated the
>> code.
>> > > > > Context
>> > > > > > contains some additional information that is not part of an
>> Event,
>> > > but
>> > > > > > needs to be used in the listener, so we separate it from the
>> event.
>> > > > > >
>> > > > > > For @Panagiotis,
>> > > > > > I think `ioExecutor` make sense to me and I have added it in
>> > > > > > `ContextModificationContext`, thanks
>> > > > > >
>> > > > > > For @Leonard,
>> > > > > > Thanks for your input.
>> > > > > > 1. I have updated `CatalogModificationContext` as an interface,
>> as
>> > > well
>> > > > > as
>> > > > > > Context in CatalogModificationListenerFactory
>> > > > > > 2. Configuration sounds good to me, I have updated the method
>> name
>> > > and
>> > > > > > getConfiguration in Context
>> > > > > >
>> > > > > > For @David,
>> > > > > > Yes, you're right. The listener will only be used on the client
>> > side
>> > > > and
>> > > > > > won't introduce a new code path for running per-job/per-session
>> > jobs.
>> > > > The
>> > > > > > listener will be created in `TableEnvironment` and `SqlGateway`
>> > which
>> > > > > can a
>> > > > > > `CatalogManager` with the listener.
>> > > > > >
>> > > > > >
>> > > > > > Best,
>> > > > > > Shammon FY
>> > > > > >
>> > > > > >
>> > > > > > On Tue, Jun 6, 2023 at 3:33 PM David Morávek <
>> > > david.mora...@gmail.com>
>> > > > > > wrote:
>> > > > > >
>> > > > > >> Hi,
>> > > > > >>
>> > > > > >> Thanks for the FLIP! Data lineage is an important problem to
>> > tackle.
>> > > > > >>
>> > > > > >> Can you please expand on how this is planned to be wired into
>> the
>> > > > > >> JobManager? As I understand, the listeners will be configured
>> > > globally
>> > > > > (per
>> > > > > >> cluster), so this won't introduce a new code path for running
>> > > per-job
>> > > > /
>> > > > > >> per-session user code. Is that correct?
>> > > > > >>
>> > > > > >> Best,
>> > > > > >> D
>> > > > > >>
>> > > > > >> On Tue, Jun 6, 2023 at 9:17 AM Leonard Xu <xbjt...@gmail.com>
>> > > wrote:
>> > > > > >>
>> > > > > >>> Thanks Shammon for driving this FLIP forward, I’ve several
>> > comments
>> > > > > about
>> > > > > >>> the updated FLIP.
>> > > > > >>>
>> > > > > >>> 1. CatalogModificationContext is introduced as a class
>> instead of
>> > > an
>> > > > > >>> interface, is it a typo?
>> > > > > >>>
>> > > > > >>> 2. The FLIP defined multiple  Map<String, String> config();
>> > > methods
>> > > > in
>> > > > > >>> some Context classes, Could we use  Configuration
>> > > > > >> getConfiguration();Class
>> > > > > >>> org.apache.flink.configuration.Configuration is recommend as
>> it’s
>> > > > > public
>> > > > > >>> API and offers more useful methods as well.
>> > > > > >>>
>> > > > > >>> 3. The Context of CatalogModificationListenerFactory should
>> be an
>> > > > > >>> interface too, and getUserClassLoder()
>> > > > > >>> would be more aligned with flink’s naming style.
>> > > > > >>>
>> > > > > >>>
>> > > > > >>> Best,
>> > > > > >>> Leonard
>> > > > > >>>
>> > > > > >>>> On May 26, 2023, at 4:08 PM, Shammon FY <zjur...@gmail.com>
>> > > wrote:
>> > > > > >>>>
>> > > > > >>>> Hi devs,
>> > > > > >>>>
>> > > > > >>>> We would like to bring up a discussion about FLIP-294:
>> Support
>> > > > > >> Customized
>> > > > > >>>> Job Meta Data Listener[1]. We have had several discussions
>> with
>> > > Jark
>> > > > > >> Wu,
>> > > > > >>>> Leonard Xu, Dong Lin, Qingsheng Ren and Poorvank about the
>> > > functions
>> > > > > >> and
>> > > > > >>>> interfaces, and thanks for their valuable advice.
>> > > > > >>>> The overall job and connector information is divided into
>> > metadata
>> > > > and
>> > > > > >>>> lineage, this FLIP focuses on metadata and lineage will be
>> > > discussed
>> > > > > in
>> > > > > >>>> another FLIP in the future. In this FLIP we want to add a
>> > > customized
>> > > > > >>>> listener in Flink to report catalog modifications to external
>> > > > metadata
>> > > > > >>>> systems such as datahub[2] or atlas[3]. Users can view the
>> > > specific
>> > > > > >>>> information of connectors such as source and sink for Flink
>> jobs
>> > > in
>> > > > > >> these
>> > > > > >>>> systems, including fields, watermarks, partitions, etc.
>> > > > > >>>>
>> > > > > >>>> Looking forward to hearing from you, thanks.
>> > > > > >>>>
>> > > > > >>>>
>> > > > > >>>> [1]
>> > > > > >>>>
>> > > > > >>>
>> > > > > >>
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-294%3A+Support+Customized+Job+Meta+Data+Listener
>> > > > > >>>> [2] https://datahub.io/
>> > > > > >>>> [3] https://atlas.apache.org/#/
>> > > > > >>>
>> > > > > >>>
>> > > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Reply via email to