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