Skip to content

Upgrade to Debezium 3.2.0.Final #1526

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Naros
Copy link
Contributor

@Naros Naros commented Jul 9, 2025

No description provided.

Copy link

quarkus-bot bot commented Jul 9, 2025

Status for workflow CI Build

This is the status report for running CI Build on commit bbb5d14.

Failing Jobs

Status Name Step Failures Logs Raw logs
Build - JDK 17 Build with Maven Failures Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ Build - JDK 17 #

- Failing: Root module 

📦 Root module

Failed to execute goal io.quarkus:quarkus-platform-bom-maven-plugin:0.0.121:invoke-platform-project (build-platform-project) on project quarkus-platform-config: Failed to build the platform project, please consult the errors logged above.

📦 generated-platform-project/quarkus-blaze-persistence/integration-tests/blaze-persistence-examples-quarkus-3-testsuite-base

com.blazebit.examples.quarkus.testsuite.base.QuarkusExampleTest.updatePerson - More details - Source on GitHub

java.lang.RuntimeException: java.lang.ExceptionInInitializerError
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:668)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:763)
	at java.base/java.util.Optional.orElseGet(Optional.java:364)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.ExceptionInInitializerError
	at java.base/java.lang.Class.forName0(Native Method)

@apupier
Copy link

apupier commented Jul 10, 2025

full stack error:

2025-07-09T19:38:24.1600027Z [ERROR] Tests run: 5, Failures: 0, Errors: 1, Skipped: 4, Time elapsed: 0.452 s <<< FAILURE! - in com.blazebit.examples.quarkus.testsuite.base.QuarkusExampleTest
2025-07-09T19:38:24.1602857Z [ERROR] com.blazebit.examples.quarkus.testsuite.base.QuarkusExampleTest.updatePerson  Time elapsed: 0.014 s  <<< ERROR!
2025-07-09T19:38:24.1608613Z java.lang.RuntimeException: java.lang.ExceptionInInitializerError
2025-07-09T19:38:24.1609877Z 	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:668)
2025-07-09T19:38:24.1612451Z 	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:763)
2025-07-09T19:38:24.1613477Z 	at java.base/java.util.Optional.orElseGet(Optional.java:364)
2025-07-09T19:38:24.1614146Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2025-07-09T19:38:24.1616689Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2025-07-09T19:38:24.1617344Z Caused by: java.lang.ExceptionInInitializerError
2025-07-09T19:38:24.1618141Z 	at java.base/java.lang.Class.forName0(Native Method)
2025-07-09T19:38:24.1618706Z 	at java.base/java.lang.Class.forName(Class.java:467)
2025-07-09T19:38:24.1619466Z 	at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:294)
2025-07-09T19:38:24.1620485Z 	at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:233)
2025-07-09T19:38:24.1621546Z 	at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:642)
2025-07-09T19:38:24.1622598Z 	at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:687)
2025-07-09T19:38:24.1623286Z 	... 1 more
2025-07-09T19:38:24.1623698Z Caused by: java.lang.RuntimeException: Failed to start quarkus
2025-07-09T19:38:24.1624681Z 	at io.quarkus.runner.ApplicationImpl.<clinit>(Unknown Source)
2025-07-09T19:38:24.1625210Z 	... 7 more
2025-07-09T19:38:24.1625711Z Caused by: java.lang.NoClassDefFoundError: org/hibernate/engine/spi/Mapping
2025-07-09T19:38:24.1626436Z 	at java.base/java.lang.Class.forName0(Native Method)
2025-07-09T19:38:24.1627885Z 	at java.base/java.lang.Class.forName(Class.java:467)
2025-07-09T19:38:24.1630925Z 	at io.quarkus.runner.recorded.HibernateOrmProcessor$build1311493863.deploy_0(Unknown Source)
2025-07-09T19:38:24.1632017Z 	at io.quarkus.runner.recorded.HibernateOrmProcessor$build1311493863.deploy(Unknown Source)
2025-07-09T19:38:24.1632741Z 	... 8 more
2025-07-09T19:38:24.1633272Z Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.spi.Mapping
2025-07-09T19:38:24.1634423Z 	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
2025-07-09T19:38:24.1635484Z 	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
2025-07-09T19:38:24.1636365Z 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
2025-07-09T19:38:24.1637298Z 	at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:576)
2025-07-09T19:38:24.1638599Z 	at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:523)
2025-07-09T19:38:24.1639383Z 	... 12 more

@apupier
Copy link

apupier commented Jul 10, 2025

the version of Hibernate in Debezium has not been changed debezium/debezium@3af4edc

@apupier
Copy link

apupier commented Jul 10, 2025

the version of Hibernate used in Quarkus seems to be 7.x although Debezium is on 6.x
https://github.com/quarkusio/quarkus/blame/d5892635590dc4f832abf19b800968fea2a58e45/pom.xml#L74

the upgrade in Quarkus from 6 to 7 has been done with quarkusio/quarkus@e391bea#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8 which means it arrived with Quarkus 3.24.0

@apupier
Copy link

apupier commented Jul 10, 2025

but the upgrade to Debezium 3.1 is already part of Quarkus 3.24.3 and it wasn't a problem 09aa94a

@jamesnetherton
Copy link
Collaborator

We should maybe consider to hold merge of this PR. It breaks the Camel Debezium components due to NoClassDefFoundError: io/debezium/embedded/EmbeddedEngine. We don't see it here because the itests are currently disabled (I forget why, I need to see if I can enable them again).

However, we're not in an LTS stream here, so I am somewhat more relaxed about it. But Camel Quarkus won't be in alignment with DBZ 3.2.0.Final until either CQ 3.26.0 or 3.27.0 is released (probably next month and beyond).

but the upgrade to Debezium 3.1 is already part of Quarkus 3.24.3 and it wasn't a problem 09aa94a

@apupier The Blaze Persistence test failure is already a known issue related to the Hibernate 7 upgrade & unrelated to this PR.

@apupier
Copy link

apupier commented Jul 10, 2025

It breaks the Camel Debezium components due to NoClassDefFoundError: io/debezium/embedded/EmbeddedEngine

On this part, I think we can update the Camel Debezium component as this class was deprecated for quite some time already even without upgrading Debezium to 3.2. it could allow a smoother transition, created apache/camel#18582

@Naros
Copy link
Contributor Author

Naros commented Jul 10, 2025

the version of Hibernate used in Quarkus seems to be 7.x although Debezium is on 6.x https://github.com/quarkusio/quarkus/blame/d5892635590dc4f832abf19b800968fea2a58e45/pom.xml#L74

Ya we haven't had a chance to bump Hibernate to ORM 7. I'll make this a priority in early 3.3 so that we can look at bumping to 3.2.1.Final with backporting that upgrade here. Thanks for the feedback and analysis!

@gsmet
Copy link
Member

gsmet commented Jul 16, 2025

The BlazeBit error is known and not related to Debezium.

As for Camel Quarkus, what's your preference you all, should we merge for 3.25 or wait?

@jamesnetherton
Copy link
Collaborator

As for Camel Quarkus, what's your preference you all, should we merge for 3.25 or wait?

I'm ok with merging this. The Camel core main branch is now aligned with Debezium 3.2.0. So hopefully this will get fixed next month in time for 3.26.0 (assuming the Camel core is released in time).

@gsmet
Copy link
Member

gsmet commented Jul 16, 2025

@jamesnetherton but current main is still 3.25 - I'm releasing the Core next week and the Platform the week after (releasing the CR1 today).

@jamesnetherton
Copy link
Collaborator

Then unless there's some urgency to have this change merged, lets wait until Camel catches up.

@Naros
Copy link
Contributor Author

Naros commented Jul 16, 2025

@gsmet, from Debezium's side, we have no preference. The only downside right now is that Debezium (regardless of version we incorporate here) will be broken with ORM 7.x. It's unfortunate but I have already fixed this in Debezium's development branch and will be fixed in the 3.2.1.Final in early August most likely.

From our side, we would have fixed this sooner, but sadly with some upgrade blockers with Apicurio, we've been stuck on a prior Quarkus version for longer than desired.

@gsmet
Copy link
Member

gsmet commented Jul 16, 2025

OK, then let's update to 3.2.1 when available and wait for the next round of releases with 3.26 to include this.

In any case, let's make sure this situation is sorted out before the next LTS (which will be 3.27).

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

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

Let's not include this update for now.

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

Successfully merging this pull request may close these issues.

4 participants