Thanks all for the discussion. I've created FLINK-32557 for this.

Best,

Xintong



On Thu, Jul 6, 2023 at 1:00 AM Jing Ge <j...@ververica.com.invalid> wrote:

> Hi Alex,
>
>
> > > 3. remove SinkFunction.
> > Which steps do you imply for the 1.18 release and for the 2.0 release?
> >
>
> for 2.0 release. 1.18 will be released soon.
>
> Best regards,
> Jing
>
>
> On Wed, Jul 5, 2023 at 1:08 PM Alexander Fedulov <
> alexander.fedu...@gmail.com> wrote:
>
> > @Jing
> > Just to clarify, when you say:
> >
> > 3. remove SinkFunction.
> > Which steps do you imply for the 1.18 release and for the 2.0 release?
>
> @Xintong
> > A side note - with the new Source API we lose the ability to control
> > checkpointing from the source since there is no lock anymore. This
> > functionality
> > is currently used in a variety of tests for the Sinks - the tests that
> rely
> > on tight
> > synchronization between specific elements passed from the source  to the
> > sink before
> > allowing a checkpoint to complete (see FiniteTestSource [1]). Since
> FLIP-27
> > Sources rely
> > on decoupling via the mailbox, without exposing the lock, it is not
> > immediately clear
> > if it is possible to achieve the same functionality without major
> > extensions in the
> > runtime for such testing purposes. My hope initially was that only the
> > legacy Sinks
> > relied on this - this would have made it possible to drop
> > SourceFunction+SinkFunction
> > together, but, in fact, it also already became part of the new SinkV2
> > testing IT suits
> > [2]. Moreover, I know of at least one major connector that also relies on
> > it for
> > verifying committed sink metadata for a specific set of records (Iceberg)
> > [3]. In my
> > estimation this currently presents a major blocker for the SourceFunction
> > removal.
> >
> > [1]
> >
> >
> https://github.com/apache/flink/blob/master/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/streaming/util/FiniteTestSource.java
> > [2]
> >
> >
> https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-files/src/test/java/org/apache/flink/connector/file/sink/StreamingExecutionFileSinkITCase.java#L132
> > [3]
> >
> >
> https://github.com/apache/iceberg/blob/master/flink/v1.17/flink/src/test/java/org/apache/iceberg/flink/source/BoundedTestSource.java#L75C1-L85C2
> >
> > Best,
> > Alex
> >
> > On Wed, 5 Jul 2023 at 10:47, Chesnay Schepler <ches...@apache.org>
> wrote:
> >
> > > There's a whole bunch of metric APIs that would need to be deprecated.
> > > That is of course if the metric FLIPs are being accepted.
> > >
> > > Which makes me wonder if we aren't doing things the wrong way around;
> > > shouldn't the decision to deprecate an API be part of the FLIP
> > discussion?
> > >
> > > On 05/07/2023 07:39, Xintong Song wrote:
> > > > Thanks all for the discussion.
> > > >
> > > > It seems to me there's a consensus on marking the following as
> > deprecated
> > > > in 1.18:
> > > > - DataSet API
> > > > - SourceFunction
> > > > - Queryable State
> > > > - All Scala APIs
> > > >
> > > > More time is needed for deprecating SinkFunction.
> > > >
> > > > I'll leave this discussion open for a few more days. And if there's
> no
> > > > objections, I'll create JIRA tickets accordingly.
> > > >
> > > > Best,
> > > >
> > > > Xintong
> > > >
> > > >
> > > >
> > > > On Wed, Jul 5, 2023 at 1:34 PM Xintong Song <tonysong...@gmail.com>
> > > wrote:
> > > >
> > > >> Thanks for the input, Jing. I'd also be +1 for option 1.
> > > >>
> > > >> Best,
> > > >>
> > > >> Xintong
> > > >>
> > > >>
> > > >>
> > > >> On Mon, Jul 3, 2023 at 7:20 PM Jing Ge <j...@ververica.com.invalid>
> > > wrote:
> > > >>
> > > >>> Hi Xingtong,
> > > >>>
> > > >>> Option 1, secure plan would be:
> > > >>>
> > > >>> 1. graduate kafka, File, JDBC connectors to @Public
> > > >>> 2. graduate SinkV2 to @Public
> > > >>> 3. remove SinkFunction.
> > > >>>
> > > >>> Option 2, risky plan but at a fast pace:
> > > >>>
> > > >>> 1. graduate SinkV2 to @Public and expecting more maintenance effort
> > > since
> > > >>> there are many known and unsolved issues.
> > > >>> 2. remove SinkFunction.
> > > >>> 3. It depends on the connectors' contributors whether connectors
> can
> > > >>> upgrade to Flink 2.0, since we moved forward with SinkV2 API
> without
> > > >>> taking
> > > >>> care of implementations in external connectors.
> > > >>>
> > > >>> I am ok with both of them and personally prefer option 1.
> > > >>>
> > > >>> Best regards,
> > > >>> Jing
> > > >>>
> > > >>>
> > > >>> On Fri, Jun 30, 2023 at 3:41 AM Xintong Song <
> tonysong...@gmail.com>
> > > >>> wrote:
> > > >>>
> > > >>>> I see. Thanks for the explanation. I may have not looked into this
> > > >>> deeply
> > > >>>> enough, and would trust the decision from you and the community
> > > members
> > > >>> who
> > > >>>> participated in the discussion & vote.
> > > >>>>
> > > >>>> Best,
> > > >>>>
> > > >>>> Xintong
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> On Thu, Jun 29, 2023 at 10:28 PM Alexander Fedulov <
> > > >>>> alexander.fedu...@gmail.com> wrote:
> > > >>>>
> > > >>>>>> However, I'm not sure about 2.
> > > >>>>> I am not aware of a bylaw that states the specific requirements
> in
> > > >>> order
> > > >>>> to
> > > >>>>> mark something as @Deprecated. My understanding from the
> discussion
> > > >>> and
> > > >>>> the
> > > >>>>> vote was that the community recognizes the necessity to make it
> > > >>> explicit
> > > >>>>> that
> > > >>>>> the usage of the SourceFunction API is discouraged. This can
> > actually
> > > >>>>> stimulate
> > > >>>>> authors of connectors that rely on this very specific and
> > > non-baseline
> > > >>>>> functionality to contribute extensions to the new Source API
> > > >>> themselves
> > > >>>> in
> > > >>>>> order to
> > > >>>>> close the gap. ExternallyInducedSource, for instance, was driven
> by
> > > >>>> Pravega
> > > >>>>> to
> > > >>>>> begin with, since it was only needed for their purposes [1]. We
> are
> > > >>> not
> > > >>>>> removing
> > > >>>>> anything - until 2.0 everything will continue to work and we can
> > work
> > > >>> on
> > > >>>>> resolving the limitations until then, I personally don't see a
> big
> > > >>> issue
> > > >>>>> here.
> > > >>>>>
> > > >>>>>> Do you think it is feasible to resolve them by the feature
> freeze
> > > >>> date
> > > >>>> of
> > > >>>>> 1.18?
> > > >>>>> No, these are rather complex additions that would probably
> require
> > > >>>> FLIP(s).
> > > >>>>> [1]
> > > >>>>>
> > > >>>>>
> > > >>>
> > >
> >
> https://flink.apache.org/2022/01/20/pravega-flink-connector-101/#checkpoint-integration
> > > >>>>> On Thu, 29 Jun 2023 at 14:25, Xintong Song <
> tonysong...@gmail.com>
> > > >>>> wrote:
> > > >>>>>> Thanks for the explanation, Alex.
> > > >>>>>>
> > > >>>>>> Not blocking the deprecation on 1 & 3 makes sense to me.
> However,
> > > >>> I'm
> > > >>>> not
> > > >>>>>> sure about 2.
> > > >>>>>>
> > > >>>>>> It sounds to me that, without FLINK-28051 & FLINK-28054, some of
> > the
> > > >>>>>> connectors cannot migrate to the new Source API, or at least
> > further
> > > >>>>>> investigation is needed to understand the situation. If this is
> > the
> > > >>>> case,
> > > >>>>>> we probably should not deprecate the API until these issues are
> > > >>>> resolved.
> > > >>>>>> Do you think it is feasible to resolve them by the feature
> freeze
> > > >>> date
> > > >>>> of
> > > >>>>>> 1.18?
> > > >>>>>>
> > > >>>>>> Best,
> > > >>>>>>
> > > >>>>>> Xintong
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> On Thu, Jun 29, 2023 at 8:02 PM Alexander Fedulov <
> > > >>>>>> alexander.fedu...@gmail.com> wrote:
> > > >>>>>>
> > > >>>>>>> @Xintong
> > > >>>>>>> The original discussion [1] and vote [2] converged on the idea
> > > >>> that
> > > >>>> it
> > > >>>>> is
> > > >>>>>>> better
> > > >>>>>>> to make it clear to the users that they should stop using
> > > >>>>> SourceFunction
> > > >>>>>>> since it
> > > >>>>>>> is going away. The longer we do not have this indication, the
> > more
> > > >>>> user
> > > >>>>>>> implementations will be based on it and the more pain will be
> > > >>> induced
> > > >>>>>> when
> > > >>>>>>> we
> > > >>>>>>> finally drop it. Users now have an alternative API that they
> > > >>> should
> > > >>>> use
> > > >>>>>> and
> > > >>>>>>> which
> > > >>>>>>> is fully functional, from that perspective nothing blocks
> marking
> > > >>> it
> > > >>>>>>> @Deprecated.
> > > >>>>>>> As for the remaining work items - there are primarily three
> > kinds:
> > > >>>>>>>
> > > >>>>>>> 1. Where Flink internally uses SourceFunction, without exposing
> > > >>> this
> > > >>>>> fact
> > > >>>>>>> to the
> > > >>>>>>>     outside world:
> > > >>>>>>>     - FLINK-28050 [3]
> > > >>>>>>>     - FLINK-28229 [4]
> > > >>>>>>>     - FLINK-28048 [5]
> > > >>>>>>>
> > > >>>>>>> 2. Very specific edge cases that might not be covered by the
> > > >>> Source
> > > >>>> API
> > > >>>>>> as
> > > >>>>>>> is:
> > > >>>>>>>     - FLINK-28054 [6]
> > > >>>>>>>     - FLINK-28051 [7]
> > > >>>>>>>
> > > >>>>>>> 3. Usability improvements - something that was easily doable
> with
> > > >>>>>>> SourceFunction,
> > > >>>>>>>     but requires deep knowledge of the new, significantly more
> > > >>>> complex,
> > > >>>>>>> Source API
> > > >>>>>>>     to achieve:
> > > >>>>>>>     - FLINK-28056 [8]
> > > >>>>>>>
> > > >>>>>>> In my mind, none of those are blockers for proceeding with
> adding
> > > >>> the
> > > >>>>>>> @Deprecated
> > > >>>>>>> annotation:
> > > >>>>>>> (1) is a simple case of encapsulation, internals should not
> > > >>> concern
> > > >>>> the
> > > >>>>>> API
> > > >>>>>>> users
> > > >>>>>>> (2) is really only relevant for "exotic" use cases. Does not
> mean
> > > >>> we
> > > >>>>>> should
> > > >>>>>>> not
> > > >>>>>>> consider those, but since it is irrelevant for 99.9% of the
> > > >>> users, I
> > > >>>> do
> > > >>>>>> not
> > > >>>>>>> think
> > > >>>>>>> we should get stuck here.
> > > >>>>>>> (3) is purely a nice to have. Formally speaking, all of the
> tools
> > > >>> are
> > > >>>>>>> there, it is
> > > >>>>>>> just that due to the complexity of the new Source API some
> > > >>> "simple"
> > > >>>>>> things
> > > >>>>>>> become
> > > >>>>>>> non-trivial and ideally we want to do better here.
> > > >>>>>>>
> > > >>>>>>> [1]
> > > >>> https://lists.apache.org/thread/d6cwqw9b3105wcpdkwq7rr4s7x4ywqr9
> > > >>>>>>> [2]
> > > >>> https://lists.apache.org/thread/kv9rj3w2rmkb8jtss5bqffhw57or7v8v
> > > >>>>>>> [3] https://issues.apache.org/jira/browse/FLINK-28050
> > > >>>>>>> [4] https://issues.apache.org/jira/browse/FLINK-28229
> > > >>>>>>> [5] https://issues.apache.org/jira/browse/FLINK-28048
> > > >>>>>>> [6] https://issues.apache.org/jira/browse/FLINK-28054
> > > >>>>>>> [7] https://issues.apache.org/jira/browse/FLINK-28051
> > > >>>>>>> [8] https://issues.apache.org/jira/browse/FLINK-28056
> > > >>>>>>>
> > > >>>>>>> On Thu, 29 Jun 2023 at 13:13, Xintong Song <
> > tonysong...@gmail.com
> > > >>>>>> wrote:
> > > >>>>>>>> Thanks for the inputs, Martijn, Jing and Alex.
> > > >>>>>>>>
> > > >>>>>>>> @Martijn,
> > > >>>>>>>> Regarding the Scala supports, I personally don't think "a
> fully
> > > >>>>> striked
> > > >>>>>>>> through experience in the IDE" is something we want to avoid,
> > > >>>>>> especially
> > > >>>>>>>> given that we are planning to remove the deprecated APIs soon,
> > > >>>> unlike
> > > >>>>>>> when
> > > >>>>>>>> FLINK-29740 was resolved we didn't really know when they would
> > > >>> be
> > > >>>>>>> removed.
> > > >>>>>>>> Moreover, the even entry point for DataStream Scala
> > > >>>>>>>> (`StreamExecutionEnvironment`) is not annotated.
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> @Jing and @Alex,
> > > >>>>>>>>
> > > >>>>>>>> IIUC, you mean SourceFunction can be annotated as
> `@Deprecated`
> > > >>> in
> > > >>>>>> 1.18,
> > > >>>>>>>> and there's already a PR doing so. However, after the
> > > >>> deprecation,
> > > >>>>>> there
> > > >>>>>>>> are still issues that need to be addressed before removing it
> in
> > > >>>> 2.0?
> > > >>>>>>> This
> > > >>>>>>>> sounds a bit weird. If the API cannot be dropped, which means
> > > >>>> without
> > > >>>>>>> this
> > > >>>>>>>> API some of functions cannot be supported, then how could it
> be
> > > >>>>>>> deprecated?
> > > >>>>>>>> How would we expect users to migrate away from it?
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> @Jing,
> > > >>>>>>>>
> > > >>>>>>>> Sounds like it's impractical to deprecate SinkFunction in
> 1.18.
> > > >>> Any
> > > >>>>>>>> expectation / plan on when / how it can be deprecated /
> removed?
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> Best,
> > > >>>>>>>>
> > > >>>>>>>> Xintong
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>> On Thu, Jun 29, 2023 at 6:12 PM Alexander Fedulov <
> > > >>>>>>>> alexander.fedu...@gmail.com> wrote:
> > > >>>>>>>>
> > > >>>>>>>>> Hi Xintong,
> > > >>>>>>>>>
> > > >>>>>>>>> Thanks for bringing up this topic. I can provide some details
> > > >>>>>> regarding
> > > >>>>>>>>> the SourceFunction deprecation efforts. Marking
> > > >>> SourceFunction as
> > > >>>>>>>>> deprecated was not possible until now since we have stringent
> > > >>>>>> compiler
> > > >>>>>>>>> checks in flink-examples against using any deprecated APIs.
> We
> > > >>>>>> actually
> > > >>>>>>>>> merged the migration of all examples to the new FLIP-27-based
> > > >>>>>>>>> DataGeneratorSource [1] just two days ago [2]. Now the PR
> > > >>> marking
> > > >>>>>>>>> it @Deprecated is finally unblocked [3] (I would be grateful
> > > >>> if
> > > >>>> you
> > > >>>>>>> could
> > > >>>>>>>>> merge it).
> > > >>>>>>>>>
> > > >>>>>>>>> With regards to the Flink 2.0 scope, I compiled a list of
> > > >>> items
> > > >>>>>>> required
> > > >>>>>>>> to
> > > >>>>>>>>> be able to drop the SourceFunction API [4] a while ago and as
> > > >>> you
> > > >>>>> can
> > > >>>>>>>> see,
> > > >>>>>>>>> there is still quite some work to be done. Some items [5]
> > > >>> might
> > > >>>>> even
> > > >>>>>>>>> require additions to the new Source API. Overall, I am happy
> > > >>> to
> > > >>>>> take
> > > >>>>>>>>> ownership of completing this work package.
> > > >>>>>>>>>
> > > >>>>>>>>> Best,
> > > >>>>>>>>> Alex
> > > >>>>>>>>>
> > > >>>>>>>>>
> > > >>>>>>>>> [1] https://cwiki.apache.org/confluence/x/9Av1D
> > > >>>>>>>>> [2] https://github.com/apache/flink/pull/21774
> > > >>>>>>>>> [3] https://github.com/apache/flink/pull/20049
> > > >>>>>>>>> [4] https://issues.apache.org/jira/browse/FLINK-28045
> > > >>>>>>>>> [5] https://issues.apache.org/jira/browse/FLINK-28054
> > > >>>>>>>>>
> > > >>>>>>>>> On Thu, 29 Jun 2023 at 10:45, Martijn Visser <
> > > >>>>>> martijnvis...@apache.org
> > > >>>>>>>>> wrote:
> > > >>>>>>>>>
> > > >>>>>>>>>> Hi Xintong,
> > > >>>>>>>>>>
> > > >>>>>>>>>> With regards to the deprecation of the Scala APIs, during
> > > >>> the
> > > >>>> PR
> > > >>>>>>>>>> review it was requested to not mark all APIs as deprecated
> > > >>> but
> > > >>>>> only
> > > >>>>>>>>>> the entry point [1], to avoid a fully striked through
> > > >>>> experience
> > > >>>>> in
> > > >>>>>>>>>> the IDE. I think the same idea was applicable on the DataSet
> > > >>>>> API. I
> > > >>>>>>>>>> think it depends on how formal we want to treat this: if
> > > >>> really
> > > >>>>>>>>>> formal, then we should deprecate them in 1.18. I think in
> > > >>> both
> > > >>>>>> cases,
> > > >>>>>>>>>> it's quite well known that they are deprecated. I'm +0 for
> > > >>>> either
> > > >>>>>>> way,
> > > >>>>>>>>>> as long as we're all agreeing that they can be removed in
> > > >>> 2.0.
> > > >>>>>>>>>> With regards to Queryable State and Source/SinkFunction, +1
> > > >>> to
> > > >>>>> mark
> > > >>>>>>>>>> these as deprecated.
> > > >>>>>>>>>>
> > > >>>>>>>>>> Best regards,
> > > >>>>>>>>>>
> > > >>>>>>>>>> Martijn
> > > >>>>>>>>>>
> > > >>>>>>>>>> [1]
> > > >>>>>>>>>>
> > > >>>>
> > >
> https://github.com/apache/flink/pull/21176#pullrequestreview-1159706808
> > > >>>>>>>>>> On Thu, Jun 29, 2023 at 10:23 AM Xintong Song <
> > > >>>>>> tonysong...@gmail.com
> > > >>>>>>>>>> wrote:
> > > >>>>>>>>>>> Hi devs,
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Looking at the release 2.0 proposals [1], I noticed that
> > > >>> many
> > > >>>>>> APIs
> > > >>>>>>>> that
> > > >>>>>>>>>> are
> > > >>>>>>>>>>> proposed to be removed in 2.0 are not (fully) deprecated
> > > >>> yet.
> > > >>>>> We
> > > >>>>>>>> might
> > > >>>>>>>>>> want
> > > >>>>>>>>>>> to properly mark them as `@Deprecated` in 1.18 if we agree
> > > >>>> they
> > > >>>>>>>> should
> > > >>>>>>>>> be
> > > >>>>>>>>>>> removed in 2.0. Moreover, according to FLIP-321 [2] (not
> > > >>>> voted
> > > >>>>>> yet
> > > >>>>>>>> but
> > > >>>>>>>>>> IMO
> > > >>>>>>>>>>> is close to consensus IMO), a migration period is required
> > > >>>>> after
> > > >>>>>>> APIs
> > > >>>>>>>>> are
> > > >>>>>>>>>>> deprecated and before they can be removed.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> I might not be familiar with the status of all the APIs
> > > >>>> below.
> > > >>>>> So
> > > >>>>>>> I'd
> > > >>>>>>>>>> like
> > > >>>>>>>>>>> to bring them up and see if there's any concern regarding
> > > >>>>>>> deprecating
> > > >>>>>>>>>> them
> > > >>>>>>>>>>> in 1.18. If there's concern for deprecating API, we can
> > > >>>> start a
> > > >>>>>>>>> separate
> > > >>>>>>>>>>> discussion thread for it. For those with no objections,
> > > >>> I'd
> > > >>>>>> create
> > > >>>>>>>> JIRA
> > > >>>>>>>>>>> tickets and try to properly deprecate them in 1.18.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> 1. DataSet API
> > > >>>>>>>>>>> It's described as "legacy", "soft deprecated" in user
> > > >>>>>> documentation
> > > >>>>>>>>> [3].
> > > >>>>>>>>>>> However, it's not annotated with `@Deprecated` in codes.
> > > >>>>>> According
> > > >>>>>>> to
> > > >>>>>>>>>>> FLIP-131 [4], DataSet API should be deprecated when
> > > >>>> DataStream
> > > >>>>>> API
> > > >>>>>>>> and
> > > >>>>>>>>>>> Table API / SQL meet certain requirements. AFAICS, all the
> > > >>>>>>>> requirements
> > > >>>>>>>>>>> mentioned in the FLIP are already fulfilled. We should
> > > >>>> annotate
> > > >>>>>> it
> > > >>>>>>> as
> > > >>>>>>>>>>> `@Deprecated` now.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> 2. SourceFunction / SinkFunction
> > > >>>>>>>>>>> They are described as deprecated in the roadmap[5], and I
> > > >>>> don't
> > > >>>>>>> find
> > > >>>>>>>>>>> anything regarding them in user documentation. But they
> > > >>> are
> > > >>>>> also
> > > >>>>>>> not
> > > >>>>>>>>>>> annotated with `@Deprecated` in codes. TBH, I'm not aware
> > > >>> of
> > > >>>>> any
> > > >>>>>>>> formal
> > > >>>>>>>>>>> decision to deprecate these. AFAICS, the replacement for
> > > >>>>>>>> SourceFunction
> > > >>>>>>>>>>> (Source) has already been promoted to `@Public`, while the
> > > >>>>>>>> replacement
> > > >>>>>>>>>> for
> > > >>>>>>>>>>> SinkFunction (SinkV2) is still `@PublicEvolving`. I found
> > > >>> a
> > > >>>>>>>>> discussion[6]
> > > >>>>>>>>>>> regarding promoting SinkV2 to `@Public`, but it's unclear
> > > >>> to
> > > >>>> me
> > > >>>>>>> what
> > > >>>>>>>>> the
> > > >>>>>>>>>>> conclusion is.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> 3. Queryable State
> > > >>>>>>>>>>> It's described as approaching end-of-life in the roadmap
> > > >>> [5],
> > > >>>>> but
> > > >>>>>>> is
> > > >>>>>>>>>>> neither deprecated in codes nor in user documentation
> > > >>> [7]. I
> > > >>>>> also
> > > >>>>>>>>> found a
> > > >>>>>>>>>>> discussion [8] about rescuing it from deprecation, and it
> > > >>>> seems
> > > >>>>>> to
> > > >>>>>>> me
> > > >>>>>>>>>> there
> > > >>>>>>>>>>> are more negative opinions than positive ones.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> 4. All Scala APIs
> > > >>>>>>>>>>> I think we agreed to drop Scala API support in FLIP-265
> > > >>> [9],
> > > >>>>> and
> > > >>>>>>> have
> > > >>>>>>>>>> tried
> > > >>>>>>>>>>> to deprecate them in FLINK-29740 [10]. Also, both user
> > > >>>>>>> documentation
> > > >>>>>>>>> and
> > > >>>>>>>>>>> roadmap[5] shows that scala API supports are deprecated.
> > > >>>>> However,
> > > >>>>>>>>> AFAICS,
> > > >>>>>>>>>>> none of the APIs in `flink-streaming-scala` are annotated
> > > >>>> with
> > > >>>>>>>>>>> `@Deprecated`, and only `ExecutionEnvironment` and
> > > >>> `package`
> > > >>>>> are
> > > >>>>>>>> marked
> > > >>>>>>>>>>> `@Deprecated` in `flink-scala`.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Looking forward to your feedback.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Best,
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Xintong
> > > >>>>>>>>>>>
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> [1]
> > > >>>>>> https://cwiki.apache.org/confluence/display/FLINK/2.0+Release
> > > >>>>>>>>>>> [2]
> > > >>>>>>>
> https://lists.apache.org/thread/vmhzv8fcw2b33pqxp43486owrxbkd5x9
> > > >>>>>>>>>>> [3]
> > > >>>>>>>>>>>
> > > >>>
> > >
> >
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/dataset/overview/
> > > >>>>>>>>>>> [4]
> > > >>>>>>>>>>>
> > > >>>
> > >
> >
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158866741
> > > >>>>>>>>>>> [5] https://flink.apache.org/roadmap/
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> [6]
> > > >>>>>>>
> https://lists.apache.org/thread/q62nj89rrz0t5xtggy5n65on95f2rmmx
> > > >>>>>>>>>>> [7]
> > > >>>>>>>>>>>
> > > >>>
> > >
> >
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/fault-tolerance/queryable_state/
> > > >>>>>>>>>>> [8]
> > > >>>>>>>
> https://lists.apache.org/thread/9hmwcjb3q5c24pk3qshjvybfqk62v17m
> > > >>>>>>>>>>> [9]
> > > >>>>>>>>>>>
> > > >>>
> > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-265+Deprecate+and+remove+Scala+API+support
> > > >>>>>>>>>>> [10] https://issues.apache.org/jira/browse/FLINK-29740
> > >
> > >
> > >
> >
>

Reply via email to