Skip to content

Conversation

@tkaymak
Copy link
Contributor

@tkaymak tkaymak commented Apr 27, 2025

This is step 1 for issue #34747 to get to a newer Debezium IO version in Beam, as Debezium requires Java 17 or later with version 3.0 (or later). I tested the local build with gradle and Java 17 before making this change for the build system.

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.

@github-actions github-actions bot added the build label Apr 27, 2025
@github-actions
Copy link
Contributor

Assigning reviewers. If you would like to opt out of this review, comment assign to next reviewer:

R: @damccorm for label build.

Available commands:

  • stop reviewer notifications - opt out of the automated review tooling
  • remind me after tests pass - tag the comment author after tests pass
  • waiting on author - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)

The PR bot will only process comments in the main thread (not review comments).

@liferoad
Copy link
Contributor

So it cannot support Java 11 or Java 8? Note we still have many users for Java 11 and 8.

@tkaymak
Copy link
Contributor Author

tkaymak commented Apr 27, 2025

@liferoad no, it unfortunately can't, see here: https://debezium.io/releases/3.0/release-notes#breaking_changes_14

@tkaymak
Copy link
Contributor Author

tkaymak commented Apr 27, 2025

The problem is that:

  1. The older (but still way newer) Debezium 2.7 does not have the right protobuf (Pin protobuf 3 for debezium #33541)
  2. The new one should allow it (https://github.com/debezium/container-images/pull/427/files), but it does require Java 17

@liferoad
Copy link
Contributor

I am fine if we decide this breaking change is needed for Debezium IO to only support Java 17+. Looks like https://github.com/GoogleCloudPlatform/DataflowTemplates does not use this IO directly.

CHANGES.md Outdated
## I/Os
* Support for X source added (Java/Python) ([#X](https://github.com/apache/beam/issues/X)).
* Debezium IO now requires Java 17 (Java) ([#34747](https://github.com/apache/beam/issues/34747)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change alone does not affect artifact build yet. We can defer the announcement after Debezium client version upgrade

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Abacn Thank you! Reverted

with:
java-version: |
17
8
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We now use Java 11 to build Beam (with Java 8 byte code compatibility). So change 8 -> 11

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Adjusted to 11

Copy link
Contributor

@Abacn Abacn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Check in CI change is fine and it would facilitate PR developement.

tkaymak added 2 commits April 28, 2025 23:01
Use Java 11 not 8 as fallback, according to review by @Abacn
@Abacn Abacn merged commit b9fa49a into apache:master Apr 28, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants