Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Avoid deprecated APIs removed in Flink 2.0 Preview #4442

Open
2 tasks done
yunfengzhou-hub opened this issue Nov 4, 2024 · 2 comments
Open
2 tasks done
Labels
enhancement New feature or request

Comments

@yunfengzhou-hub
Copy link
Contributor

yunfengzhou-hub commented Nov 4, 2024

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

Flink 2.0 Preview has been released, and Paimon needs to make itself compatible with 2.0 Preview now, to be better prepared for the Flink 2.0 in future.

Solution

A bunch of public APIs that had been marked as @Deprecated are now removed in Flink 2.0 Preview. Paimon needs to replace usages of these deprecated APIs to the latest alternatives.

Subtasks Related PR Status
[hotfix] Wait for consumer reset before job close #4578 Merged
[cdc] Update flink dependency to 1.20 #4580 Merged
Adopt open(OpenContext) in RichFunction #4581 Merged
Adopt getTaskInfo() when acquiring parallelism info #4583 Merged
Avoid deprecated usages about Configuration #4584 Merged
Avoid deprecated DataStreamUtils #4590 Merged
Remove deprecated TestEnvironment #4590 Merged
Replace deprecated flink Time with java Duration #4590 Merged
Avoid deprecated SingleThreadMultiplexSourceReaderBase constructor #4590 Merged
Avoid deprecated FileSystem#getKind #4590 Merged
Avoid deprecated SetupableStreamOperator #4591 Under Review
Avoid deprecated usage on Table API, including TableSchema, DataType and DescriptorProperties #4611 Under Review
Replace legacy SinkFunction with v2 Sink #4612 Under Review
Replace legacy SourceFunction with v2 Source    
Avoid relying on format of table description #4590 Merged
Avoid deprecated sql syntax   Waiting for external bugfix: FLINK-36783
Change MultipleParameterTool package name   Waiting for Flink 2.0 formal release
Create profile for Flink 2.0 using Java 11   Waiting for Flink 2.0 formal release
Avoid external legacy SourceFunction/SinkFunction in Flink Kafka Connector   Waiting for external work: Flink Kafka Connector avoids legacy sink function

Anything else?

Flink 2.0 still have more work to do with its internal implementation, and only dealt with its public APIs in 2.0 Preview. So if Paimon has been using Flink's public methods that are not marks as @Public or @PublicEvolving, the usages might still be compatible with 2.0 Preview for now, but should also be updated to alternatives as early as possible.

Are you willing to submit a PR?

  • I'm willing to submit a PR!
@yunfengzhou-hub yunfengzhou-hub added the enhancement New feature or request label Nov 4, 2024
@yunfengzhou-hub
Copy link
Contributor Author

Apart from deprecated public APIs, Paimon has also been using internal public methods or private methods through reflection. These usages bring risks to Paimon's compatibility to Flink as these internal implementations might be modified at any time. They should also be replaced as part of this issue.

@wwj6591812
Copy link
Contributor

Good work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants