Skip to content

Conversation

@holly-cummins
Copy link
Contributor

Partial resolution of #44124.

This is failing at the moment, because of the following error:

2025-11-18T16:04:55.6629145Z     "details": "Error id 4a3b7664-f6d2-41d2-bbe0-c11f33a36e3c-2, org.jboss.resteasy.spi.UnhandledException: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000",
2025-11-18T16:04:55.6645349Z     "stack": "org.jboss.resteasy.spi.UnhandledException: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000\n\tat org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:357)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:205)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:452)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$invokePropagateNotFound$6(SynchronousDispatcher.java:275)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)\n\tat org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:260)\n\tat io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:86)\n\tat io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:151)\n\tat io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:97)\n\tat io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:645)\n\tat org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)\n\tat org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)\n\tat org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)\n\tat org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)\n\tat org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)\n\tat org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\nCaused by: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000"
2025-11-18T16:04:55.6660958Z }

Looking at the difference between the passing code and the failing code, it seems like the named reactive datasources don't work with DB2? I can't debug locally because DB2 also doesn't start on my mac (#51084). I have no idea if this is a test problem or an application problem. I assume a test problem, but the modified test looks pretty innocuous. Any ideas, @lucamolteni or @yrodiere?

@quarkus-bot
Copy link

quarkus-bot bot commented Nov 19, 2025

/cc @gsmet (hibernate-orm)

@quarkus-bot
Copy link

quarkus-bot bot commented Nov 19, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit d448121.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
Native Tests - Data7 Build Failures Logs Raw logs 🔍
JVM Integration Tests - JDK 17 Build Failures Logs Raw logs 🔍
✔️ JVM Integration Tests - JDK 17 Windows Logs Raw logs 🔍
JVM Integration Tests - JDK 21 Build Failures Logs Raw logs 🔍
JVM Integration Tests - JDK 25 Build Failures Logs Raw logs 🔍

Full information is available in the Build summary check run.
You can consult the Develocity build scans.

Failures

⚙️ Native Tests - Data7 #

- Failing: integration-tests/reactive-db2-client 

📦 integration-tests/reactive-db2-client

io.quarkus.it.reactive.db2.client.HealthCheckIT.testHealthCheck - History - More details - Source on GitHub

java.lang.AssertionError: 
2 expectations failed.
JSON path status doesn't match.
Expected: is "UP"
  Actual: DOWN

JSON path checks.status doesn't match.
Expected: iterable with items ["UP"] in any order

io.quarkus.it.reactive.db2.client.NativeQueryIT.testListAllFruits - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:108)

io.quarkus.it.reactive.db2.client.NativeQueryIT.testListAllLegumes - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:108)

⚙️ JVM Integration Tests - JDK 17 #

- Failing: integration-tests/reactive-db2-client 

📦 integration-tests/reactive-db2-client

io.quarkus.it.reactive.db2.client.HealthCheckTest.testHealthCheck line 20 - History - More details - Source on GitHub

java.lang.AssertionError: 
2 expectations failed.
JSON path status doesn't match.
Expected: is "UP"
  Actual: DOWN

JSON path checks.status doesn't match.
Expected: iterable with items ["UP"] in any order

io.quarkus.it.reactive.db2.client.QueryTest. - History - More details - Source on GitHub

org.junit.jupiter.engine.execution.ConditionEvaluationException: Failed to evaluate condition [io.quarkus.test.junit.QuarkusTestExtension]: Internal error: Test class was loaded with an unexpected classloader (QuarkusClassLoader:Quarkus Base Runtime ClassLoader: TEST for JUnitQuarkusTest-no-profile (QuarkusTest)@6c96403e) or the thread context classloader (jdk.internal.loader.ClassLoaders$AppClassLoader@5ffd2b27) was incorrect.
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
	at java.base/java.util.stream.Referen...

io.quarkus.it.reactive.db2.client.QueryTest.testListAllFruits line 18 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)

io.quarkus.it.reactive.db2.client.QueryTest.testListAllLegumes line 30 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)

⚙️ JVM Integration Tests - JDK 21 #

- Failing: integration-tests/reactive-db2-client 

📦 integration-tests/reactive-db2-client

io.quarkus.it.reactive.db2.client.HealthCheckTest.testHealthCheck line 20 - History - More details - Source on GitHub

java.lang.AssertionError: 
2 expectations failed.
JSON path status doesn't match.
Expected: is "UP"
  Actual: DOWN

JSON path checks.status doesn't match.
Expected: iterable with items ["UP"] in any order

io.quarkus.it.reactive.db2.client.QueryTest. - History - More details - Source on GitHub

org.junit.jupiter.engine.execution.ConditionEvaluationException: Failed to evaluate condition [io.quarkus.test.junit.QuarkusTestExtension]: Internal error: Test class was loaded with an unexpected classloader (QuarkusClassLoader:Quarkus Base Runtime ClassLoader: TEST for JUnitQuarkusTest-no-profile (QuarkusTest)@5dfd31f4) or the thread context classloader (jdk.internal.loader.ClassLoaders$AppClassLoader@c387f44) was incorrect.
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1685)
	at java.base/java.util.stream.Referenc...

io.quarkus.it.reactive.db2.client.QueryTest.testListAllFruits line 18 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)

io.quarkus.it.reactive.db2.client.QueryTest.testListAllLegumes line 30 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)

⚙️ JVM Integration Tests - JDK 25 #

- Failing: integration-tests/reactive-db2-client 

📦 integration-tests/reactive-db2-client

io.quarkus.it.reactive.db2.client.HealthCheckTest.testHealthCheck line 20 - History - More details - Source on GitHub

java.lang.AssertionError: 
2 expectations failed.
JSON path status doesn't match.
Expected: is "UP"
  Actual: DOWN

JSON path checks.status doesn't match.
Expected: iterable with items ["UP"] in any order

io.quarkus.it.reactive.db2.client.QueryTest. - History - More details - Source on GitHub

org.junit.jupiter.engine.execution.ConditionEvaluationException: Failed to evaluate condition [io.quarkus.test.junit.QuarkusTestExtension]: Internal error: Test class was loaded with an unexpected classloader (QuarkusClassLoader:Quarkus Base Runtime ClassLoader: TEST for JUnitQuarkusTest-no-profile (QuarkusTest)@dc1fadd) or the thread context classloader (jdk.internal.loader.ClassLoaders$AppClassLoader@5bc2b487) was incorrect.
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1693)
	at java.base/java.util.stream.Referenc...

io.quarkus.it.reactive.db2.client.QueryTest.testListAllFruits line 18 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)

io.quarkus.it.reactive.db2.client.QueryTest.testListAllLegumes line 30 - History - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)

@lucamolteni
Copy link
Contributor

Partial resolution of #44124.

This is failing at the moment, because of the following error:

2025-11-18T16:04:55.6629145Z     "details": "Error id 4a3b7664-f6d2-41d2-bbe0-c11f33a36e3c-2, org.jboss.resteasy.spi.UnhandledException: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000",
2025-11-18T16:04:55.6645349Z     "stack": "org.jboss.resteasy.spi.UnhandledException: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000\n\tat org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:357)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:205)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:452)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$invokePropagateNotFound$6(SynchronousDispatcher.java:275)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)\n\tat org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:260)\n\tat io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:86)\n\tat io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:151)\n\tat io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:97)\n\tat io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:645)\n\tat org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)\n\tat org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)\n\tat org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)\n\tat org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)\n\tat org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)\n\tat org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\nCaused by: io.vertx.db2client.DB2Exception: The database 'ADDITIONAL' provided was not found, SQLCODE=-1001  SQLSTATE=2E000"
2025-11-18T16:04:55.6660958Z }

Looking at the difference between the passing code and the failing code, it seems like the named reactive datasources don't work with DB2? I can't debug locally because DB2 also doesn't start on my mac (#51084). I have no idea if this is a test problem or an application problem. I assume a test problem, but the modified test looks pretty innocuous. Any ideas, @lucamolteni or @yrodiere?

Named reactive datasources are not DB dependant, so they should work regardless, I wonder what path is triggering

@holly-cummins holly-cummins marked this pull request as draft November 20, 2025 14:27
@yrodiere
Copy link
Member

yrodiere commented Nov 20, 2025

@holly-cummins I learned the hard way that something in DB2 (the "instance name"? not sure if it's the same thing as the DB name) is... wait for it... limited to 8 characters.

Was that perhaps your problem? :)

@holly-cummins
Copy link
Contributor Author

@holly-cummins I learned the hard way that something in DB2 (the "instance name"? not sure if it's the same thing as the DB name) is... wait for it... limited to 8 characters.

Was that perhaps your problem? :)

Gosh. In principle it shouldn't affect this, because these are existing tests that are just running on a dev service instead of an independent container. But along with all the optimisations I've been throwing out, there could have been some flag in the container configuration or container image that eased that restriction. I'll try a shorter name and report back!

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