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