beam icon indicating copy to clipboard operation
beam copied to clipboard

[DO NOT MERGE] Flink 1.17

Open je-ik opened this issue 1 year ago • 6 comments

Support Flink 1.17. Closes #29939.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • [ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • [ ] Update CHANGES.md with noteworthy changes.
  • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels Python tests Java tests Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

je-ik avatar Feb 02 '24 16:02 je-ik

Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment assign set of reviewers

github-actions[bot] avatar Feb 02 '24 17:02 github-actions[bot]

Can you please link the commits with a corresponding JIRA issue?

dmvk avatar Feb 02 '24 18:02 dmvk

Can you please link the commits with a corresponding JIRA issue?

Beam no longer uses JIRA to track issues, but uses github issues instead. The commit is linked with the corresponding issue.

je-ik avatar Feb 03 '24 07:02 je-ik

Hi, what is the status of this PR? I see Flink validation runner postcommit test passed. Persumably this is complete?

Abacn avatar Feb 15 '24 21:02 Abacn

Also, previously Beam aims to support 4 consecutive flink versions. If find anything hard to support Flink 1.12 (or 1.13) and 1.17 at the same time, feel free to drop the former (or do it later)

Abacn avatar Feb 15 '24 21:02 Abacn

I need to polish and validate upgrade path so this is temporarily on hold.

je-ik avatar Feb 16 '24 07:02 je-ik

The upgrade is currently broken due to https://lists.apache.org/thread/s8o8jc2k2kb41q5g0v0xmoyszg1gdcst. After decision is made about the next steps this PR can continue.

je-ik avatar Feb 21 '24 15:02 je-ik

Hi, as https://lists.apache.org/thread/s8o8jc2k2kb41q5g0v0xmoyszg1gdcst gets resolved by #30403, is this PR ready to be merged?

Abacn avatar Apr 04 '24 14:04 Abacn

Hi, unfortunately I did not have time to finish it, yet. But target is currently release 2.56.0.

je-ik avatar Apr 04 '24 14:04 je-ik

Thanks, that's awesome!

Abacn avatar Apr 04 '24 14:04 Abacn

I verified the current implementation works and can read savepoint created by 1.16 (at least with the same beam version), but I need more tests regarding upgrade from current stable release. Moreover there is issue https://github.com/apache/beam/issues/29816 which seems to affect the current release as well. I would like to release 'new' runner without known severe bugs, so I think this should wait for one more release.

je-ik avatar Apr 12 '24 08:04 je-ik

Unfortunately, upgrading Flink has still issues with upgrading various sources (due to Java serialization). Upgrade from 2.55.0 to 2.56.0 (in my testing Pipeline) is blocked due to incompatible change of KafkaIO.Read (added option).

Having said that, upgrade from 2.56.0 Flink 1.16 to Flink 1.17 works and that is as far as we can get. We need to merge https://github.com/apache/beam/pull/30987 and then we would need to implement https://github.com/apache/beam/issues/30385 and ideally https://github.com/apache/beam/issues/21897.

Other than that, this is ready from my part @Abacn, with follow-up https://github.com/apache/beam/pull/30988.

je-ik avatar Apr 16 '24 10:04 je-ik

KafkaIO option change is #30877. It was having issue on upgrade compatibility. Let me check with the author if #30915 has fixed the upgrade issue

Abacn avatar Apr 16 '24 17:04 Abacn

I don't think we can do anything about that at this point. I tried adding serialVersionUID, but it ends on incompatible change of the AutoValue generated class. Upgrading KafkaIO has been for this reason broken several times in last releases, we need to resolve the underlying issue (not serializing sources to checkpoint using Serializable interface). Which will again be upgrade-breaking change.

je-ik avatar Apr 16 '24 17:04 je-ik