Hi all,

I have modified the name of idle-timeout option in the flip @Timo

> You are right. That was just a copy paste mistake. It should be
> `scan.watermark.idle-timeout`.

If there are no questions, we will start the voting thread on 3/15(wednesday
).

Best
Kui


Timo Walther <twal...@apache.org> 于2023年3月9日周四 17:11写道:

>  > I was wondering why you, exceptionally, suggested 'scan.idle-timeout'
> instead of 'scan.watermark.idle-timeout'. I must miss something here.
>
> @Jing: You are right. That was just a copy paste mistake. It should be
> `scan.watermark.idle-timeout`.
>
> @Kui: Can you fix that in the FLIP? Sorry, for this typo.
>
>  > users might feel confused after using those OPTIONs, since they might
> not be aware of what happens underneath
>
> I agree that those options will not make the life easier for most SQL
> users. I would consider those options intended for power users. Usually,
> the data platform team should come up with well-defined watermark
> semantics before exposing tables to SQL users.
>
> Regards,
> Timo
>
>
> On 07.03.23 13:15, Kui Yuan wrote:
> > Hi Jing,
> >
> > Thanks for your advice. In upcoming PR, I will explain all these things
> > (Including flip-182,flip-217,etc.) clearly in the flink doc to make sure
> > the user can understand the behavior behind it.
> >
> > Best,
> > Kui
> >
> > Jing Ge <j...@ververica.com.invalid> 于2023年3月7日周二 19:42写道:
> >
> >> Hi Kui,
> >>
> >> Thanks for adding it into the Flip. There is one more thing wrt this
> topic
> >> you might want to pay attention to, a little bit off-topic, is that
> Flink
> >> SQL users might not be familiar with use cases of low level Datastream
> API.
> >> IMHO, it is highly recommended(mandatory) to write the dependency you
> just
> >> described in your last email and all related information in Flink doc
> >> during developing this FLIP within the upcoming PR. Without those
> >> guidelines in doc, users might feel confused after using those OPTIONs,
> >> since they might not be aware of what happens underneath, and therefore
> >> don't know why it does not work even if they did everything right at
> Flink
> >> SQL level.
> >>
> >> Best regards,
> >> Jing
> >>
> >>
> >> On Tue, Mar 7, 2023 at 6:36 AM Kui Yuan <catye...@gmail.com> wrote:
> >>
> >>> Hi Jing,
> >>>
> >>>
> >>> Thanks for the reminder. The aim of this flip is letting the sql users
> to
> >>> use those features in the Datastream API, we don't intend to extend
> >>> flip-217. In my opinion, the watermark alignment with only one source
> can
> >>> be configured by the options given in flip, and if the source connector
> >>> does not implement flip-217, the task will run with an error, reminding
> >> the
> >>> user to use `pipeline.watermark-alignment.allow-
> >> unaligned-source-splits`,
> >>> but maybe these behaviors are not understood by everyone, I will add
> some
> >>> tips about flip-217 in the flip to let users understand the behavior in
> >> the
> >>> case of source splits.
> >>>
> >>>
> >>> Best,
> >>>
> >>> Kui Yuan
> >>>
> >>> Jing Ge <j...@ververica.com.invalid> 于2023年3月7日周二 04:23写道:
> >>>
> >>>> Hi Kui,
> >>>>
> >>>> Thanks for pointing that out. I knew FLIP-217 which was done by an
> >>>> engineer working in my team.  As far as I am concerned, your FLIP
> >> should
> >>>> answer the following questions:
> >>>>
> >>>> 1. How to enable the watermark alignment of a source splits with Flink
> >>> SQL?
> >>>> e.g. which options should be used if only one source is used?
> >>>>
> >>>> 2. Default behaviour. i.e. Flink SQL users should be aware that
> >> watermark
> >>>> alignment of source split will only work for sources that implement
> >>>> FLIP-217 properly. Should users take care of
> >>>> `pipeline.watermark-alignment.allow-unaligned-source-splits`
> >>>> while using Flink SQL?
> >>>>
> >>>> Best regards,
> >>>> Jing
> >>>>
> >>>>
> >>>> On Fri, Mar 3, 2023 at 8:46 AM Kui Yuan <catye...@gmail.com> wrote:
> >>>>
> >>>>> Hi all,
> >>>>>
> >>>>> Thanks for all. There are more questions and I will answer one by
> >> one.
> >>>>>
> >>>>> @Jark Thanks for your tips. For the first question, I will add more
> >>>> details
> >>>>> in the flip, and give a POC[1] so that pepole can know how I'm
> >>> currently
> >>>>> implementing these features.
> >>>>>
> >>>>>> IIRC, this is the first time we introduce the framework-level
> >>> connector
> >>>>>> options that the option is not recognized and handled by
> >> connectors.
> >>>>>> The FLIP should cover how framework filters the watermark related
> >>>> options
> >>>>>> to avoid discover connector factory failed, and what happens if the
> >>>>>> connector already supported the conflict options
> >>>>>
> >>>>> For the second question, We know that the default strategy is
> >>>> 'on-periodic'
> >>>>> in SQL layer, and the default interval is 200ms. The reason for
> >> emiting
> >>>>> watermark periodically is that the time advancement of consecutive
> >>> events
> >>>>> may be very small, we don't need to calculate watermark for each
> >> event.
> >>>>> Same for 'on-event' strategy, so my idea is that we can set a fixed
> >> gap
> >>>> for
> >>>>> 'on-event' strategy.
> >>>>>
> >>>>>> I'm not sure about the usage scenarios of event gap emit strategy.
> >> Do
> >>>>>> you have any specific use case of this strategy? I'm confused why
> >> no
> >>>> one
> >>>>>> requested this strategy before no matter in DataStream or SQL, but
> >>>> maybe
> >>>>>> I missed something. I'm not against to add this option, but just
> >> want
> >>>> to
> >>>>> be
> >>>>>> careful when adding new API because it's hard to remove in the
> >>> future.
> >>>>>
> >>>>> As @Timo said, There is no default features like 'on-event-gap' in
> >>>>> DataStream API, but the users can achieve the 'on-event-gap' feature
> >> by
> >>>>> using `WatermarkGenerator` interface, just like the implemention in
> >> my
> >>>>> POC[1]. However, If we don't provide it  in SQL layer, there is no
> >> way
> >>>> for
> >>>>> users to use similar features.
> >>>>>
> >>>>>> Jark raised a very good point. I thought we only expose what is
> >>>>>> contained in DataStream API already. If this strategy is not part
> >> of
> >>>>>> DataStream API, would like to exclude it from the FLIP. We need to
> >> be
> >>>>>> careful which strategies we offer by default.
> >>>>>
> >>>>> @Jark @Timo I'm sorry, perhaps I don't understand what are your
> >>> concerns
> >>>>> about CompiledPlan, maybe I missed something else, maybe you can look
> >>> at
> >>>> my
> >>>>> POC first to see if there is somewhere to worry about.
> >>>>>
> >>>>>> Sorry, I forgot to remind you that Timo's concern about the changes
> >>> to
> >>>>> the
> >>>>>> CompiledPlan looks like is still not covered in the FLIP.
> >>>>>
> >>>>> @Jing We could have more discussion about naming, but I prefer that
> >> the
> >>>>> naming should be consistent with the DataStream API.
> >>>>> About aligning splits/partitions/shards, maybe you missed FLIP-217[2]
> >>>> which
> >>>>> aims to support watermark alignment of source splits.
> >>>>>
> >>>>>> After reading the most up-to-date Flip, I didn't find any
> >> information
> >>>> if
> >>>>>> this solution will support aligning splits/partitions/shards [1].
> >>> Did I
> >>>>>> miss anything?
> >>>>>
> >>>>> Best
> >>>>> Kui Yuan
> >>>>>
> >>>>> [1] the POC:
> >>>>> https://github.com/yuchengxin/flink/tree/yuankui/watermark_params
> >>>>> [2] FLIP-217:
> >>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-217%3A+Support+watermark+alignment+of+source+splits
> >>>>>
> >>>>>
> >>>>> Jing Ge <j...@ververica.com.invalid> 于2023年3月3日周五 08:03写道:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> Thanks Kui for driving this Flip and thanks all for the informative
> >>>>>> discussion.
> >>>>>>
> >>>>>> @Timo
> >>>>>>
> >>>>>> Your suggestion about the naming convention is excellent. Thanks! I
> >>> was
> >>>>>> wondering why you, exceptionally, suggested 'scan.idle-timeout'
> >>> instead
> >>>>> of
> >>>>>> 'scan.watermark.idle-timeout'. I must miss something here.
> >>>>>>
> >>>>>> There is one more NIT. I am just aware that "drift" is used for the
> >>>>>> watermark alignment. It seems to be fine while using DataStream
> >> API,
> >>>>>> because we will not really see it. But with the OPTIONS in SQL, a
> >>> much
> >>>>>> bigger group of users (including SRE, tech support, etc) will see
> >> the
> >>>>> word
> >>>>>> "drift". Given that "drift" wasn't used widely yet and with all
> >>>> training
> >>>>>> materials, Flink doc [1][2][3] (search with "lag"), "lag" has been
> >>> used
> >>>>> to
> >>>>>> describe timestamp difference between watermark and its
> >>>>>> corresponding event. Do we really need to introduce another term
> >> for
> >>>> the
> >>>>>> same thing? How about using
> >> 'scan.watermark.alignment.max-lag'='1min'
> >>>> and
> >>>>>> change the parameter name from maxAllowedWatermarkDrift to
> >>>>>> maxAllowedWatermarkLag [4] because of naming consistency? Just my
> >> two
> >>>>> cents
> >>>>>> worth.
> >>>>>>
> >>>>>> @Kui
> >>>>>>
> >>>>>> After reading the most up-to-date Flip, I didn't find any
> >> information
> >>>> if
> >>>>>> this solution will support aligning splits/partitions/shards [1].
> >>> Did I
> >>>>>> miss anything?
> >>>>>>
> >>>>>> +1 for the concern about Table API. We'd be better keep Table API
> >> and
> >>>> SQL
> >>>>>> synced for new features.
> >>>>>>
> >>>>>> Best regards,
> >>>>>> Jing
> >>>>>>
> >>>>>>
> >>>>>> [1]
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/datastream/event-time/generating_watermarks/#watermark-alignment-_beta_
> >>>>>> [2]
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/datastream/event-time/built_in/#fixed-amount-of-lateness
> >>>>>>
> >>>>>> [3]
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/datastream/kafka/
> >>>>>> [4]
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://github.com/apache/flink/blob/4aacff572a9e3996c5dee9273638831e4040c767/flink-core/src/main/java/org/apache/flink/api/common/eventtime/WatermarkStrategy.java#L169
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Wed, Mar 1, 2023 at 3:54 PM Timo Walther <twal...@apache.org>
> >>>> wrote:
> >>>>>>
> >>>>>>> Reg. 2:
> >>>>>>>   > event gap emit strategy [...] no matter in DataStream or SQL
> >>>>>>>
> >>>>>>> Jark raised a very good point. I thought we only expose what is
> >>>>>>> contained in DataStream API already. If this strategy is not part
> >>> of
> >>>>>>> DataStream API, would like to exclude it from the FLIP. We need
> >> to
> >>> be
> >>>>>>> careful which strategies we offer by default.
> >>>>>>>
> >>>>>>> Reg 1:
> >>>>>>> This already has a JIRA ticket with additional thoughts on this
> >>>> topic:
> >>>>>>> https://issues.apache.org/jira/browse/FLINK-25221
> >>>>>>>
> >>>>>>> Regards,
> >>>>>>> Timo
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On 01.03.23 12:31, Jark Wu wrote:
> >>>>>>>> Sorry, I forgot to remind you that Timo's concern about the
> >>> changes
> >>>>> to
> >>>>>>> the
> >>>>>>>> CompiledPlan looks like is still not covered in the FLIP.
> >>>>>>>>
> >>>>>>>> Best,
> >>>>>>>> Jark
> >>>>>>>>
> >>>>>>>> On Wed, 1 Mar 2023 at 19:28, Jark Wu <imj...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>>> Hi Kui,
> >>>>>>>>>
> >>>>>>>>> Thank you for the great proposal, I think this is already in a
> >>>> good
> >>>>>>> shape.
> >>>>>>>>>
> >>>>>>>>> Just a kind reminder, according to the community
> >> guidelines[1],
> >>>>>>>>> if there are unresponsive reviewers, a typical reasonable time
> >>>>>>>>> to wait for responses is one week, but be pragmatic about it.
> >>>>>>>>>
> >>>>>>>>> Regarding the FLIP, I have some comments below:
> >>>>>>>>>
> >>>>>>>>> 1. IIRC, this is the first time we introduce the
> >> framework-level
> >>>>>>> connector
> >>>>>>>>> options that the option is not recognized and handled by
> >>>> connectors.
> >>>>>>>>> The FLIP should cover how framework filters the watermark
> >>> related
> >>>>>>> options
> >>>>>>>>> to avoid discover connector factory failed, and what happens
> >> if
> >>>> the
> >>>>>>>>> connector
> >>>>>>>>> already supported the conflict options.
> >>>>>>>>>
> >>>>>>>>> 2. I'm not sure about the usage scenarios of event gap emit
> >>>>> strategy.
> >>>>>> Do
> >>>>>>>>> you have any specific use case of this strategy? I'm confused
> >>> why
> >>>> no
> >>>>>> one
> >>>>>>>>> requested this strategy before no matter in DataStream or SQL,
> >>> but
> >>>>>> maybe
> >>>>>>>>> I missed something. I'm not against to add this option, but
> >> just
> >>>>> want
> >>>>>> to
> >>>>>>>>> be
> >>>>>>>>> careful when adding new API because it's hard to remove in the
> >>>>> future.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> 3. Adding a "Public Interface"[2] section to summarize the
> >>>>>>>>> proposed APIs and options would be better for developers to
> >>>>>>>>> know the impact. Currently, the APIs are scattered in the long
> >>>>>>>>> design sections.
> >>>>>>>>>
> >>>>>>>>> Best,
> >>>>>>>>> Jark
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> [1]:
> >>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals
> >>>>>>>>> [2]:
> >>>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP+Template
> >>>>>>>>>
> >>>>>>>>> On Wed, 1 Mar 2023 at 16:56, Kui Yuan <catye...@gmail.com>
> >>> wrote:
> >>>>>>>>>
> >>>>>>>>>> Hi all,
> >>>>>>>>>>
> >>>>>>>>>> Thanks for all discussions!
> >>>>>>>>>>
> >>>>>>>>>> Anyone else have questions or suggestions? if not, I will
> >>> start a
> >>>>>> vote
> >>>>>>>>>> thread later.
> >>>>>>>>>>
> >>>>>>>>>> Best
> >>>>>>>>>> Kui Yuan
> >>>>>>>>>>
> >>>>>>>>>> kui yuan <catye...@gmail.com> 于2023年2月27日周一 20:21写道:
> >>>>>>>>>>
> >>>>>>>>>>> Hi Timo,
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks for your advice. I totally agree with your suggestion
> >>> of
> >>>>>> naming
> >>>>>>>>>>> convention, I will rename these options and update the flip
> >>>> later,
> >>>>>>>>>> thanks
> >>>>>>>>>>> very much.
> >>>>>>>>>>>
> >>>>>>>>>>> In our internal implementation we had put these options
> >> inside
> >>>> the
> >>>>>>>>>>> `FactoryUtil`, just as you expect.  We have also taken into
> >>>>> account
> >>>>>>> the
> >>>>>>>>>>> changes to the CompiledPlan and we have packaged these
> >> options
> >>>>>>>>>>> appropriately to minimize intrusiveness and ensure the
> >>>>> compatibility
> >>>>>>> to
> >>>>>>>>>> the
> >>>>>>>>>>> `WatermarkPushDownSpec`.
> >>>>>>>>>>>
> >>>>>>>>>>>> A hint to the implementation: I would suggest that we add
> >>> those
> >>>>>>>>>> options
> >>>>>>>>>>>> to `FactoryUtil`. All cross-connector options should end up
> >>>>> there.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>> Please also consider the changes to the CompiledPlan in
> >> your
> >>>>> FLIP.
> >>>>>>>>>> This
> >>>>>>>>>>>> change has implications on the JSON format as watermark
> >>>> strategy
> >>>>> of
> >>>>>>>>>>>> ExecNode becomes more complex, see WatermarkPushDownSpec
> >>>>>>>>>>>
> >>>>>>>>>>> Best
> >>>>>>>>>>> Kui Yuan
> >>>>>>>>>>>
> >>>>>>>>>>> Timo Walther <twal...@apache.org> 于2023年2月27日周一 18:05写道:
> >>>>>>>>>>>
> >>>>>>>>>>>> Hi Kui Yuan,
> >>>>>>>>>>>>
> >>>>>>>>>>>> thanks for working on this FLIP. Let me also give some
> >>> comments
> >>>>>> about
> >>>>>>>>>>>> the proposed changes.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I support the direction of this FLIP about handling these
> >>>>>>>>>>>> watermark-specific properties through options and
> >>>> /*+OPTIONS(...)
> >>>>>> */
> >>>>>>>>>>>> hints.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Regarding naming, I would like to keep the options in sync
> >>> with
> >>>>>>>>>> existing
> >>>>>>>>>>>> options:
> >>>>>>>>>>>>
> >>>>>>>>>>>>    > 'watermark.emit.strategy'='ON_EVENT'
> >>>>>>>>>>>>
> >>>>>>>>>>>> Let's use lower case (e.g. `on-event`) that matches with
> >>>>> properties
> >>>>>>>>>> like
> >>>>>>>>>>>> sink.partitioner [1] or sink.delivery-guarantee [2].
> >>>>>>>>>>>>
> >>>>>>>>>>>>    > 'source.idle-timeout'='1min'
> >>>>>>>>>>>>
> >>>>>>>>>>>> According to FLIP-122 [3], we want to prefix all
> >> scan-source
> >>>>>> related
> >>>>>>>>>>>> properties with `scan.*`. This clearly includes
> >> idle-timeout
> >>>> and
> >>>>>>>>>>>> actually also watermark strategies which don't apply for
> >>> lookup
> >>>>>>>>>> sources.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Summarizing the comments above, we should use the following
> >>>>>> options:
> >>>>>>>>>>>>
> >>>>>>>>>>>> 'scan.watermark.emit.strategy'='on-event',
> >>>>>>>>>>>> 'scan.watermark.emit.on-event.gap'='10000',
> >>>>>>>>>>>> 'scan.idle-timeout'='1min',
> >>>>>>>>>>>> 'scan.watermark.alignment.group'='alignment-group-1',
> >>>>>>>>>>>> 'scan.watermark.alignment.max-drift'='1min',
> >>>>>>>>>>>> 'scan.watermark.alignment.update-interval'='1s'
> >>>>>>>>>>>>
> >>>>>>>>>>>> I know that this makes the keys even longer, but given that
> >>>> those
> >>>>>>>>>>>> options are for power users this should be acceptable. It
> >>> also
> >>>>>>> clearly
> >>>>>>>>>>>> indicates which options are for sinks, scans, and lookups.
> >>> This
> >>>>>>>>>>>> potentially also helps in allow lists.
> >>>>>>>>>>>>
> >>>>>>>>>>>> A hint to the implementation: I would suggest that we add
> >>> those
> >>>>>>> options
> >>>>>>>>>>>> to `FactoryUtil`. All cross-connector options should end up
> >>>>> there.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Please also consider the changes to the CompiledPlan in
> >> your
> >>>>> FLIP.
> >>>>>>> This
> >>>>>>>>>>>> change has implications on the JSON format as watermark
> >>>> strategy
> >>>>> of
> >>>>>>>>>>>> ExecNode becomes more complex, see WatermarkPushDownSpec
> >> [4].
> >>>>>>>>>>>>
> >>>>>>>>>>>> Regards,
> >>>>>>>>>>>> Timo
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> [1]
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.11/dev/table/connectors/kafka.html#sink-partitioner
> >>>>>>>>>>>> [2]
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/table/kafka/#sink-delivery-guarantee
> >>>>>>>>>>>> [3]
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-122%3A+New+Connector+Property+Keys+for+New+Factory
> >>>>>>>>>>>> [4]
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://github.com/apache/flink/blob/master/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/WatermarkPushDownSpec.java
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On 24.02.23 04:55, kui yuan wrote:
> >>>>>>>>>>>>> Hi all,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I have updated the flip according to the discussion, and
> >> we
> >>>> will
> >>>>>>>>>> extend
> >>>>>>>>>>>> the
> >>>>>>>>>>>>> watermark-related features with both table options and
> >>>> 'OPTIONS'
> >>>>>>>>>> hint,
> >>>>>>>>>>>> like
> >>>>>>>>>>>>> this:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> ```
> >>>>>>>>>>>>> -- configure in table options
> >>>>>>>>>>>>> CREATE TABLE user_actions (
> >>>>>>>>>>>>>      ...
> >>>>>>>>>>>>>      user_action_time TIMESTAMP(3),
> >>>>>>>>>>>>>      WATERMARK FOR user_action_time AS user_action_time -
> >>>>> INTERVAL
> >>>>>>> '5'
> >>>>>>>>>>>> SECOND
> >>>>>>>>>>>>> ) WITH (
> >>>>>>>>>>>>>      'watermark.emit.strategy'='ON_PERIODIC',
> >>>>>>>>>>>>>      ...
> >>>>>>>>>>>>> );
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -- use 'OPTIONS' hint
> >>>>>>>>>>>>> select ... from source_table /*+
> >>>>>> OPTIONS('watermark.emit.strategy'=
> >>>>>>>>>>>>> 'ON_PERIODIC') */
> >>>>>>>>>>>>> ```
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Does everybody have any other questions?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Best
> >>>>>>>>>>>>> Kui Yuan
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> kui yuan <catye...@gmail.com> 于2023年2月23日周四 20:05写道:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Hi all,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Thanks for all suggestions.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> We will extend the watermark-related features in SQL
> >> layer
> >>>> with
> >>>>>>>>>> dynamic
> >>>>>>>>>>>>>> table options and 'OPTIONS' hint, just as everyone
> >>> expects. I
> >>>>>> will
> >>>>>>>>>>>> modify
> >>>>>>>>>>>>>> Flip-296 as discussed.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> @Martijn As far as I know, there is no hint interface in
> >>> the
> >>>>>> table
> >>>>>>>>>> API,
> >>>>>>>>>>>>>> so we can't use hint in table API directly. if we need to
> >>>>> extend
> >>>>>>> the
> >>>>>>>>>>>> hint
> >>>>>>>>>>>>>> interface in the table API, maybe we need another flip.
> >>>>> However,
> >>>>>> if
> >>>>>>>>>> we
> >>>>>>>>>>>>>> extend the watermark-related features in the dynamic
> >> table
> >>>>>> options,
> >>>>>>>>>>>> maybe
> >>>>>>>>>>>>>> we are able to use them indirectly in the table API like
> >>>>> this[1]:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> ```
> >>>>>>>>>>>>>> // register a table named "Orders"
> >>>>>>>>>>>>>> tableEnv.executeSql("CREATE TABLE Orders (`user` BIGINT,
> >>>>> product
> >>>>>>>>>>>> STRING,
> >>>>>>>>>>>>>> amount INT) WITH
> >>> ('watermark.emit.strategy'='ON_EVENT'...)");
> >>>>>>>>>>>>>> ```
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/create/
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Best
> >>>>>>>>>>>>>> Kui Yuan
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Yun Tang <myas...@live.com> 于2023年2月23日周四 17:46写道:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks for the warm discussions!
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I had an offline discussion with Kui about the replies.
> >> I
> >>>>> think
> >>>>>> I
> >>>>>>>>>>>> could
> >>>>>>>>>>>>>>> give some explanations on the original intention to
> >>>> introduce
> >>>>>>>>>> another
> >>>>>>>>>>>>>>> WATERMARK_PARAMS. If we take a look at the current
> >>>> datastream
> >>>>>> API,
> >>>>>>>>>> the
> >>>>>>>>>>>>>>> watermark strategy does not belong to any specific
> >>>> connector.
> >>>>>> And
> >>>>>>>>>> we
> >>>>>>>>>>>>>>> thought the dynamic table options were more like the
> >>>>>>> configurations
> >>>>>>>>>>>> within
> >>>>>>>>>>>>>>> some specific connector.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>    From the review comments, I think most people feel
> >> good
> >>> to
> >>>>>> make
> >>>>>>> it
> >>>>>>>>>>>> part
> >>>>>>>>>>>>>>> of the dynamic table options. I think this is fine if we
> >>>> give
> >>>>>> more
> >>>>>>>>>>>> clear
> >>>>>>>>>>>>>>> scope definition of the dynamic table options here. And
> >> I
> >>>> also
> >>>>>>>>>> agree
> >>>>>>>>>>>> with
> >>>>>>>>>>>>>>> Jingsong's concern about adding SQL syntax which is the
> >>> most
> >>>>>>>>>>>> concerning
> >>>>>>>>>>>>>>> part before launching this discussion.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> For Martijn's concern, if we accept to make the
> >>>>>> watermark-related
> >>>>>>>>>>>> options
> >>>>>>>>>>>>>>> part of dynamic table options, the problem becomes
> >> another
> >>>>>> topic:
> >>>>>>>>>> how
> >>>>>>>>>>>> to
> >>>>>>>>>>>>>>> support the dynamic table options in table API, which is
> >>>>>> deserved
> >>>>>>>>>> to
> >>>>>>>>>>>> create
> >>>>>>>>>>>>>>> another FLIP.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Best
> >>>>>>>>>>>>>>> Yun Tang
> >>>>>>>>>>>>>>> ________________________________
> >>>>>>>>>>>>>>> From: Martijn Visser <martijnvis...@apache.org>
> >>>>>>>>>>>>>>> Sent: Thursday, February 23, 2023 17:14
> >>>>>>>>>>>>>>> To: dev@flink.apache.org <dev@flink.apache.org>
> >>>>>>>>>>>>>>> Subject: Re: [DISCUSS] FLIP-296: Watermark options for
> >>> table
> >>>>>> API &
> >>>>>>>>>> SQL
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Hi,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> While I can understand that there's a desire to first
> >>> focus
> >>>> on
> >>>>>>>>>> solving
> >>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>> problem for SQL, I do wonder if we should ignore the
> >> Table
> >>>> API
> >>>>>> at
> >>>>>>>>>> this
> >>>>>>>>>>>>>>> point. If we could include the syntax for the Table API,
> >>> it
> >>>>>>>>>>>> potentially
> >>>>>>>>>>>>>>> could also be implemented by another contributor without
> >>>>> needing
> >>>>>>> to
> >>>>>>>>>>>> create
> >>>>>>>>>>>>>>> another FLIP. If we don't design it right now, my
> >> concern
> >>> is
> >>>>>> that
> >>>>>>>>>> this
> >>>>>>>>>>>>>>> will
> >>>>>>>>>>>>>>> increase sparsity for the Table API which ultimately
> >> hurts
> >>>>>>>>>> adoption.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> With regards to the syntax, I have a preference to solve
> >>>> this
> >>>>>> via
> >>>>>>>>>> the
> >>>>>>>>>>>>>>> connector options (e.g. like you can currently specify
> >>>> things
> >>>>> as
> >>>>>>>>>>>>>>> scan.startup.specific-offsets or scan.bounded.mode for
> >> the
> >>>>> Kafka
> >>>>>>>>>>>>>>> connector). You could still use the dynamic table
> >> options
> >>> to
> >>>>>>>>>>>> override/add
> >>>>>>>>>>>>>>> them.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Martijn
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 7:21 AM Shammon FY <
> >>>> zjur...@gmail.com
> >>>>>>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Hi kui
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Thanks for your answer and +1 to yuxia too
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> we should not bind the watermark-related options to a
> >>>>>> connector
> >>>>>>>>>> to
> >>>>>>>>>>>>>>> ensure
> >>>>>>>>>>>>>>>> semantic clarity.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> In my opinion, adding watermark-related options to a
> >>>>> connector
> >>>>>> is
> >>>>>>>>>>>> much
> >>>>>>>>>>>>>>> more
> >>>>>>>>>>>>>>>> clear. Currently users can define simple watermark
> >>> strategy
> >>>>> in
> >>>>>>>>>> DDL,
> >>>>>>>>>>>>>>> adding
> >>>>>>>>>>>>>>>> more configuration items in connector options is easy
> >> to
> >>>>>>>>>> understand
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>> Shammon
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 10:52 AM Jingsong Li <
> >>>>>>>>>> jingsongl...@gmail.com
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Thanks for your proposal.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> +1 to yuxia, consider watermark-related hints as
> >> option
> >>>>> hints.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Personally, I am cautious about adding SQL syntax,
> >>>>>>>>>> WATERMARK_PARAMS
> >>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>> also SQL syntax to some extent.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> We can use OPTIONS to meet this requirement if
> >> possible.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>>> Jingsong
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 10:41 AM yuxia <
> >>>>>>>>>> luoyu...@alumni.sjtu.edu.cn
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Hi, Yuan Kui.
> >>>>>>>>>>>>>>>>>> Thanks for driving it.
> >>>>>>>>>>>>>>>>>> IMO, the 'OPTIONS' hint may be not only specific to
> >> the
> >>>>>>>>>> connector
> >>>>>>>>>>>>>>>>> options. Just as a reference, we also have
> >>>>>> `sink.parallelism`[1]
> >>>>>>>>>> as
> >>>>>>>>>>>> a
> >>>>>>>>>>>>>>>>> connector options. It enables
> >>>>>>>>>>>>>>>>>> user to specific the writer's parallelism dynamically
> >>>>>>> per-query.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Personally, I perfer to consider watermark-related
> >>> hints
> >>>> as
> >>>>>>>>>> option
> >>>>>>>>>>>>>>>>> hints. So, user can define a default watermark
> >> strategy
> >>>> for
> >>>>>> the
> >>>>>>>>>>>> table,
> >>>>>>>>>>>>>>>> and
> >>>>>>>>>>>>>>>>> if user dosen't needed to changes it, they need to do
> >>>>> nothing
> >>>>>> in
> >>>>>>>>>>>> their
> >>>>>>>>>>>>>>>>> query instead of specific it ervery time.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-master/zh/docs/connectors/table/filesystem/#sink-parallelism
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>>>> Yuxia
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>>>> Yuxia
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> ----- 原始邮件 -----
> >>>>>>>>>>>>>>>>>> 发件人: "kui yuan" <catye...@gmail.com>
> >>>>>>>>>>>>>>>>>> 收件人: "dev" <dev@flink.apache.org>
> >>>>>>>>>>>>>>>>>> 抄送: "Jark Wu" <imj...@gmail.com>
> >>>>>>>>>>>>>>>>>> 发送时间: 星期三, 2023年 2 月 22日 下午 10:08:11
> >>>>>>>>>>>>>>>>>> 主题: Re: [DISCUSS] FLIP-296: Watermark options for
> >> table
> >>>>> API &
> >>>>>>>>>> SQL
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Hi all,
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Thanks for the lively discussion and I will respond
> >> to
> >>>>> these
> >>>>>>>>>>>>>>> questions
> >>>>>>>>>>>>>>>>> one
> >>>>>>>>>>>>>>>>>> by one. However, there are also some common questions
> >>>> and I
> >>>>>>> will
> >>>>>>>>>>>>>>> answer
> >>>>>>>>>>>>>>>>>> together.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> @郑 Thanks for your reply. The features mentioned in
> >>> this
> >>>>> flip
> >>>>>>>>>> are
> >>>>>>>>>>>>>>> only
> >>>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>>> those source connectors that implement the
> >>>>>>>>>>>> SupportsWatermarkPushDown
> >>>>>>>>>>>>>>>>>> interface, generating watermarks in other graph
> >>> locations
> >>>>> is
> >>>>>>>>>> not in
> >>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>> scope of this discussion. Perhaps another flip can be
> >>>>>> proposed
> >>>>>>>>>>>>>>> later to
> >>>>>>>>>>>>>>>>>> implement this feature.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> @Shammon Thanks for your reply. In Flip-296, a
> >> rejected
> >>>>>>>>>> alternative
> >>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>> adding watermark related options in the connector
> >>>>> options,we
> >>>>>>>>>>>> believe
> >>>>>>>>>>>>>>>> that
> >>>>>>>>>>>>>>>>>> we should not bind the watermark-related options to a
> >>>>>> connector
> >>>>>>>>>> to
> >>>>>>>>>>>>>>>> ensure
> >>>>>>>>>>>>>>>>>> semantic clarity.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> What will happen if we add watermark related options
> >>> in
> >>>>> `the
> >>>>>>>>>>>>>>>> connector
> >>>>>>>>>>>>>>>>>>> options`? Will the connector ignore these options or
> >>>> throw
> >>>>>> an
> >>>>>>>>>>>>>>>>> exception?
> >>>>>>>>>>>>>>>>>>> How can we support this?
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> If user defines different watermark configurations
> >> for
> >>>> one
> >>>>>>>>>> table in
> >>>>>>>>>>>>>>> two
> >>>>>>>>>>>>>>>>>> places, I tend to prefer the first place would
> >> prevail,
> >>>> but
> >>>>>> we
> >>>>>>>>>> can
> >>>>>>>>>>>>>>>> also
> >>>>>>>>>>>>>>>>>> throw exception or just print logs to prompt the
> >> user,
> >>>>> which
> >>>>>>> are
> >>>>>>>>>>>>>>>>>> implementation details.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> If one table is used by two operators with different
> >>>>>> watermark
> >>>>>>>>>>>>>>>> params,
> >>>>>>>>>>>>>>>>>>> what will happen?
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> @Martijn Thanks for your reply.  I'm sorry that we
> >> are
> >>>> not
> >>>>>>>>>>>>>>> particularly
> >>>>>>>>>>>>>>>>>> accurate, this hint is mainly for SQL,  not table
> >> API.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> While the FLIP talks about watermark options for
> >> Table
> >>>>> API &
> >>>>>>>>>> SQL,
> >>>>>>>>>>>>>>> I
> >>>>>>>>>>>>>>>>> only
> >>>>>>>>>>>>>>>>>>> see proposed syntax for SQL, not for the Table API.
> >>> What
> >>>>> is
> >>>>>>>>>> your
> >>>>>>>>>>>>>>>>> proposal
> >>>>>>>>>>>>>>>>>>> for the Table API
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> @Jane Thanks for your reply. For the first question,
> >> If
> >>>> the
> >>>>>>> user
> >>>>>>>>>>>>>>> uses
> >>>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>> hint on those sourse that does not implement the
> >>>>>>>>>>>>>>>>> SupportsWatermarkPushDown
> >>>>>>>>>>>>>>>>>> interface, it will be completely invalid. The task
> >> will
> >>>> run
> >>>>>> as
> >>>>>>>>>>>>>>> normal
> >>>>>>>>>>>>>>>> as
> >>>>>>>>>>>>>>>>> if
> >>>>>>>>>>>>>>>>>> the hint had not been used.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> What's the behavior if there are multiple table
> >>> sources,
> >>>>>> among
> >>>>>>>>>>>>>>> which
> >>>>>>>>>>>>>>>>>>> some do not support `SupportsWatermarkPushDown`?
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> @Jane feedback that 'WATERMARK_PARAMS' is difficult
> >> to
> >>>>>>> remember,
> >>>>>>>>>>>>>>>> perhaps
> >>>>>>>>>>>>>>>>>> the naming issue can be put to the end of the
> >>> discussion,
> >>>>>>>>>> because
> >>>>>>>>>>>>>>> more
> >>>>>>>>>>>>>>>>>> people like @Martijn @Shuo are considering whether
> >>> these
> >>>>>>>>>>>>>>> configurations
> >>>>>>>>>>>>>>>>>> should be put into the DDL or the 'OPTIONS' hint.
> >>> Here's
> >>>>>> what I
> >>>>>>>>>>>>>>>>>> think, Putting these configs into DDL or putting them
> >>>> into
> >>>>>>>>>>>> 'OPTIONS'
> >>>>>>>>>>>>>>>> hint
> >>>>>>>>>>>>>>>>>> is actually the same thing, because the 'OPTIONS'
> >> hint
> >>> is
> >>>>>>> mainly
> >>>>>>>>>>>>>>> used
> >>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>> configure the properties of conenctor. The reason
> >> why I
> >>>>> want
> >>>>>> to
> >>>>>>>>>> use
> >>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>> new
> >>>>>>>>>>>>>>>>>> hint is to make sure the semantics clear, in my
> >> opinion
> >>>> the
> >>>>>>>>>>>>>>>> configuration
> >>>>>>>>>>>>>>>>>> of watermark should not be mixed up with connector.
> >>>>> However,
> >>>>>> a
> >>>>>>>>>> new
> >>>>>>>>>>>>>>> hint
> >>>>>>>>>>>>>>>>>> does make it more difficult to use to some extent,
> >> for
> >>>>>> example,
> >>>>>>>>>>>>>>> when a
> >>>>>>>>>>>>>>>>> user
> >>>>>>>>>>>>>>>>>> uses both 'OPTIONS' hint and 'WATERMARK_PARAMS' hint.
> >>> For
> >>>>>> this
> >>>>>>>>>>>>>>> point,
> >>>>>>>>>>>>>>>>> maby
> >>>>>>>>>>>>>>>>>> it is more appropriate to use uniform 'OPTIONS' hint.
> >>>>>>>>>>>>>>>>>> On the other hand, if we enrich more watermark option
> >>>> keys
> >>>>> in
> >>>>>>>>>>>>>>> 'OPTIONS'
> >>>>>>>>>>>>>>>>>> hints, The question will be what we treat the
> >>>> definatrions
> >>>>> of
> >>>>>>>>>>>>>>>> 'OPTIONS'
> >>>>>>>>>>>>>>>>>> hint, is this only specific to the connector options
> >> or
> >>>>> could
> >>>>>>> be
> >>>>>>>>>>>>>>> more?
> >>>>>>>>>>>>>>>>>> Maybe @Jark could share more insights here. In my
> >>> opion,
> >>>>>>>>>> 'OPTIONS'
> >>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>> only
> >>>>>>>>>>>>>>>>>> related to the connector options, which is not like
> >> the
> >>>>>> gernal
> >>>>>>>>>>>>>>>> watermark
> >>>>>>>>>>>>>>>>>> options.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Shuo Cheng <njucs...@gmail.com> 于2023年2月22日周三
> >> 19:17写道:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Hi Kui,
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Thanks for driving the discussion. It's quite useful
> >>> to
> >>>>>>>>>> introduce
> >>>>>>>>>>>>>>>>> Watermark
> >>>>>>>>>>>>>>>>>>> options. I have some questions:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> What kind of hints is "WATERMARK_PARAMS"?
> >>>>>>>>>>>>>>>>>>> Currently, we have two kinds of hints in Flink:
> >>> Dynamic
> >>>>>> Table
> >>>>>>>>>>>>>>>> Options &
> >>>>>>>>>>>>>>>>>>> Query Hints. As described in the Flip,
> >>>> "WATERMARK_PARAMS"
> >>>>> is
> >>>>>>>>>> more
> >>>>>>>>>>>>>>>> like
> >>>>>>>>>>>>>>>>>>> Dynamic Table Options. So two questions arise here:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> 1)  Are these watermark options to be exposed as
> >>>> connector
> >>>>>>> WITH
> >>>>>>>>>>>>>>>>> options? Aa
> >>>>>>>>>>>>>>>>>>> described in SQL Hints doc[1],  "Dynamic Table
> >> Options
> >>>>> allow
> >>>>>>> to
> >>>>>>>>>>>>>>>>> specify or
> >>>>>>>>>>>>>>>>>>> override table options dynamically", which implies
> >>> that
> >>>>>> these
> >>>>>>>>>>>>>>> options
> >>>>>>>>>>>>>>>>> can
> >>>>>>>>>>>>>>>>>>> also be configured in WITH options.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> 2)  Do we really need a new hint name like
> >>>>>> 'WATERMARK_PARAMS',
> >>>>>>>>>>>>>>> table
> >>>>>>>>>>>>>>>>>>> options use "OPTIONS" as hint name, like '/*+
> >>>>>>>>>>>>>>>>>>> OPTIONS('csv.ignore-parse-errors'='true') */', maybe
> >>> we
> >>>>> can
> >>>>>>>>>> enrich
> >>>>>>>>>>>>>>>> more
> >>>>>>>>>>>>>>>>>>> table option keys for watermark, e.g., /*+
> >>>>>>>>>>>>>>>>>>> OPTIONS('watermark.emit-strategy'='ON_PERIODIC') */.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> On Wed, Feb 22, 2023 at 10:22 AM kui yuan <
> >>>>>> catye...@gmail.com
> >>>>>>>>
> >>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Hi devs,
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> I'd like to start a discussion thread for
> >>> FLIP-296[1].
> >>>>> This
> >>>>>>>>>>>>>>> comes
> >>>>>>>>>>>>>>>>> from an
> >>>>>>>>>>>>>>>>>>>> offline discussion with @Yun Tang, and we hope to
> >>>> enrich
> >>>>>>> table
> >>>>>>>>>>>>>>> API
> >>>>>>>>>>>>>>>> &
> >>>>>>>>>>>>>>>>> SQL
> >>>>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>> support many watermark-related features which were
> >>> only
> >>>>>>>>>>>>>>> implemented
> >>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>> datastream API level.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Basically, we want to introduce watermark options
> >> in
> >>>>> table
> >>>>>>>>>> API &
> >>>>>>>>>>>>>>>> SQL
> >>>>>>>>>>>>>>>>> via
> >>>>>>>>>>>>>>>>>>>> SQL hint named 'WATERMARK_PARAMS' to support
> >>> features:
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> 1、Configurable watermark emit strategy
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> 2、Dealing with idle sources
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> 3、Watermark alignment
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Last but not least, thanks to Qingsheng and Jing
> >>> Zhang
> >>>>> for
> >>>>>>> the
> >>>>>>>>>>>>>>>>> initial
> >>>>>>>>>>>>>>>>>>>> reviews.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Looking forward to your thoughts and any feedback
> >> is
> >>>>>>>>>>>>>>> appreciated!
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=240884405
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Best
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Yuan Kui
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >
>
>

Reply via email to