quarkus
quarkus copied to clipboard
[WIP] Upgrade to Hibernate ORM 7
This is WIP to upgrade Quarkus to Hibernate ORM 7 -- which isn't stable yet.
~~Based on #41359, which must be merged first.~~ => Done
Opening the PR as draft for anyone needing to build something on top of it.
Fixes #45164 Fixes #43368
Status / next steps:
- [x] Make it compile
- [x] Make Java-only, ORM-only tests pass
- [x] Make Kotlin ORM-only tests pass (requires https://github.com/hibernate/hibernate-models/issues/99)
- [ ] Upgrade to compatible Search/Reactive versions
- [ ] Make Search/Reactive tests pass
- [ ] If necessary, upgrade to compatible Validator version
- [ ] Inspect commits for temporary workarounds (mentions of
HHH-) and remove them if they are no longer necessary -- see in particular https://hibernate.atlassian.net/browse/HHH-19033 - [ ] Inspect commits + upstream migration guide and write migration notes for Quarkus (ping Guillaume so he can assess the situation)
- [ ] Inspect commits + upstream migration guide and write OpenRewrite recipes in
quarkus-update - [ ] Upgrade to Final versions
- [ ] Link to fixed Quarkus issues in this PR -- see https://github.com/quarkusio/quarkus/issues?q=is%3Aissue+is%3Aopen+label%3Aarea%2Fhibernate-orm%2Carea%2Fhibernate-reactive%2Carea%2Fhibernate-search+label%3Atriage%2Fupstream
- [ ] Check whether #45263 gets fixed by the Hibernate Reactive update, because Hibernate Reactive is now much more similar to ORM when it comes to DB version setting/checking. If relevant, consider documenting DB version setting/checking for Hibernate Reactive.
Should we try to coordinate the Jakarta EE 11 updates?
Should we try to coordinate the Jakarta EE 11 updates?
Quarkus definitely should plan for that, yes. I don't know the full implications for Quarkus, but I think at least CDI, Narayana and Validator (so probably EL too?) will need to be upgraded before or at the same time as we upgrade to Hibernate ORM 7.0. As well as Search and Reactive, of course. Upgrading every Jakarta component to Jakarta 11 would probably be simpler than trying to mix Jakarta 10 and 11, but that's up to you.
Fair warning though:
- ORM 7.0 is not ready yet -- there's no clear date set for the release at the moment.
- I'm only just getting back to this, trying to get things to compile ( :heavy_check_mark: ) and basic tests to pass ( :x: ), so that I can report any bugs upstream.
I'll set a reminder to ping you when I have a clearer view of what works and what doesn't in Quarkus itself.
🙈 The PR is closed and the preview is expired.
I identified the Kotlin failures as a bug in hibernate-models: https://github.com/hibernate/hibernate-models/issues/99 Looking into the other failures...
The XML mapping issue seems caused by https://hibernate.atlassian.net/browse/HHH-18662.
Alright, I think I did all I could at this point. I will need new Beta releases of Hibernate ORM / Search / Reactive to go further.
I pushed an upgrade to ORM 7.0.0.Beta2, but now the build is failing even earlier.
Status:
- ORM needs a Beta3, because Beta2 has incorrect dependencies or a missing artifact:
[ERROR] Failed to execute goal on project quarkus-hibernate-orm-derby: Could not resolve dependencies for project io.quarkus:quarkus-hibernate-orm-derby:jar:999-SNAPSHOT [ERROR] dependency: org.hibernate.orm:hibernate-scan-jandex:jar:7.0.0.Beta2 (runtime) [ERROR] Could not find artifact org.hibernate.orm:hibernate-scan-jandex:jar:7.0.0.Beta2 in central (https://repo.maven.apache.org/maven2) - Search needs an 8.0.0.Alpha1
- Reactive needs an Alpha/Beta as well... which may require further changes to ORM.
I upgraded my branch to Hibernate ORM 7.0.0.Beta3 / Hibernate Reactive 3.0.0.Beta1, let's see what CI thinks... :crossed_fingers:
@FroMage FYI ^
Current status: native compilation is broken, but problems have been identified:
- One is fixed and just needs a new release of ORM: https://github.com/hibernate/hibernate-orm/pull/9589
- The other needs a fix and a new release of ORM: https://hibernate.atlassian.net/browse/HHH-18974
EDIT: Technically I'd also need https://issues.redhat.com/browse/HHH-19033 fixed, but that's been worked around for now.
Time for a status update!
- Currently using ORM 7.0.0.Beta4 , Search 8.0.0.Alpha2, Reactive 3.0.0.Beta2
- Had some problems with Panache related to HHH-18584, but they're solved in blocking Panache, and I'm hoping my last push will solve them in reactive Panache as well.
- Hibernate Reactive native compilation fails because of logging, but that should be solved in the next release
- Hibernate Search native compilation fails because of explicit references to Jandex classes, but that should be solved in the next release
- Envers is giving me trouble because of HHH-19258, but I think I'll just implement a nasty workaround for now.
Had some problems with Panache related to HHH-18584, but they're solved in blocking Panache, and I'm hoping my last push will solve them in reactive Panache as well.
False hopes, that won't work. I gave up on fixing Panache, and stuck to fixing the queries we generate for Spring Data (add a select clause). Any query in either Spring Data or Panache that omits the select clause will still potentially hit the consequences of HHH-18584.
Current status:
- Currently using ORM 7.0.0.Beta4 , Search 8.0.0.Alpha2, Reactive 3.0.0.Beta2
- Panache problems related to HHH-18584 are worked around in the specific case of named-based methods in the Spring Data implementation (based on Panache). Direct uses will still suffer from a breaking change which we'll need to document. @gsmet I checked, and none of the examples in the Panache docs. seem to be affected.
- Hibernate Reactive native compilation fails because of logging, but that should be solved in the next release
- Hibernate Search native compilation fails because of explicit references to Jandex classes, but that should be solved in the next release
- Apart from that, the whole build passes, native tests included.
I rebased on main and added the upgrade to the recently released Hibernate Reactive 3.0.0.Beta3. Now all problems should have been solved, let's see...
FYI, I got a green build today: https://github.com/yrodiere/quarkus/actions/runs/14401453838
Now let's wait for CRs, try again, and I'll run through the todo list above, and check what needs to be reported in the migration guide.
@gsmet we're good to go! I included the migration guide in the PR's description.
@lucamolteni would you mind reviewing the migration guide, to check if it makes sense?
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus Documentation CI
This is the status report for running Quarkus Documentation CI on commit 2adf43ef052f2207fc429decfafe99efc1a1967a.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
[!WARNING] There are other workflow runs running, you probably need to wait for their status before merging.
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI on commit 2adf43ef052f2207fc429decfafe99efc1a1967a.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
You can consult the Develocity build scans.
Flaky tests - Develocity
:gear: JVM Tests - JDK 17 Windows
:package: extensions/websockets-next/deployment
✖ io.quarkus.websockets.next.test.telemetry.MicrometerWebSocketsOnErrorTest.testClientEndpointError_ExceptionInsideOnTextMessage_WithOverloadedOnError - History
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed. Response body doesn't match expectation. Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '4' and direction 'null' Actual: \# TYPE system_cpu_count gauge \# HELP system_cpu_count The number of processors available to the Java virtual machine-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed.
Response body doesn't match expectation.
Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '4' and direction 'null'
Actual: # TYPE system_cpu_count gauge
# HELP system_cpu_count The number of processors available to the Java virtual machine
system_cpu_count 4.0
# TYPE http_server_active_requests gauge
✖ io.quarkus.websockets.next.test.telemetry.MicrometerWebSocketsOnErrorTest.testClientEndpointError_ExceptionInsideOnTextMessage_noExplicitOnErrorDefined - History
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed. Response body doesn't match expectation. Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '3' and direction 'null' Actual: \# TYPE system_cpu_count gauge \# HELP system_cpu_count The number of processors available to the Java virtual machine-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed.
Response body doesn't match expectation.
Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '3' and direction 'null'
Actual: # TYPE system_cpu_count gauge
# HELP system_cpu_count The number of processors available to the Java virtual machine
system_cpu_count 4.0
# TYPE http_server_active_requests gauge
✖ io.quarkus.websockets.next.test.telemetry.MicrometerWebSocketsOnErrorTest.testServerEndpointError_ExceptionInsideOnOpen - History
io.vertx.core.impl.NoStackTraceThrowable: WebSocket is closed-java.util.concurrent.CompletionException
java.util.concurrent.CompletionException: io.vertx.core.impl.NoStackTraceThrowable: WebSocket is closed
at java.base/java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413)
at java.base/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118)
at io.quarkus.websockets.next.test.utils.WSClient.await(WSClient.java:137)
at io.quarkus.websockets.next.test.utils.WSClient.sendAndAwait(WSClient.java:96)
at io.quarkus.websockets.next.test.telemetry.Connection.openConnectionThenSend(Connection.java:34)
at io.quarkus.websockets.next.test.telemetry.MicrometerWebSocketsOnErrorTest.testServerEndpointError_ExceptionInsideOnOpen(MicrometerWebSocketsOnErrorTest.java:201)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
✖ io.quarkus.websockets.next.test.telemetry.MicrometerWebSocketsOnErrorTest.testServerEndpointError_GlobalErrorHandler - History
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed. Response body doesn't match expectation. Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '4' and direction 'null' Actual: \# TYPE system_cpu_count gauge \# HELP system_cpu_count The number of processors available to the Java virtual machine-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a Lambda expression in io.quarkus.websockets.next.test.telemetry.MetricsAsserter 1 expectation failed.
Response body doesn't match expectation.
Expected: Key 'quarkus_websockets_server_endpoint_count_errors_total' with value '4' and direction 'null'
Actual: # TYPE system_cpu_count gauge
# HELP system_cpu_count The number of processors available to the Java virtual machine
system_cpu_count 4.0
# TYPE http_server_active_requests gauge
:gear: JVM Integration Tests - JDK 17
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
:package: integration-tests/opentelemetry-grpc-only
✖ io.quarkus.it.opentelemetry.grpc.HelloGrpcClientTest.testHello - History
java.lang.RuntimeException: Failed to start quarkus-java.lang.RuntimeException
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
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.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
:gear: JVM Integration Tests - JDK 17 Windows
:package: integration-tests/oidc-client-wiremock
✖ io.quarkus.it.keycloak.OidcClientTest.testGetAccessTokenWithConfiguredExpiresIn - History
expected: <true> but was: <false>-org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at io.quarkus.it.keycloak.OidcClientTest.testGetAccessTokenWithConfiguredExpiresIn(OidcClientTest.java:68)
:gear: JVM Integration Tests - JDK 21
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus Documentation CI
This is the status report for running Quarkus Documentation CI on commit 2e3413302d8076d7f4fab323f2ec47341f0592ca.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
[!WARNING] There are other workflow runs running, you probably need to wait for their status before merging.
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI on commit 2e3413302d8076d7f4fab323f2ec47341f0592ca.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
You can consult the Develocity build scans.
Flaky tests - Develocity
:gear: JVM Tests - JDK 21
:package: extensions/micrometer-opentelemetry/deployment
✖ io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_AsyncFailed - History
Stream has no elements-java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: Stream has no elements
at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lambda$lastReading$2(MetricDataFilter.java:213)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReading(MetricDataFilter.java:213)
at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReadingDataPoint(MetricDataFilter.java:231)
at io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_AsyncFailed(MicrometerTimedInterceptorTest.java:150)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
:gear: JVM Tests - JDK 17 Windows
:package: extensions/scheduler/deployment
✖ io.quarkus.scheduler.test.programmatic.ProgrammaticJobTimeZoneTest.testJobs - History
expected: <true> but was: <false>-org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at io.quarkus.scheduler.test.programmatic.ProgrammaticJobTimeZoneTest.testJobs(ProgrammaticJobTimeZoneTest.java:66)
:gear: JVM Integration Tests - JDK 17
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
:package: integration-tests/opentelemetry-grpc-only
✖ io.quarkus.it.opentelemetry.grpc.HelloGrpcClientTest.testHello - History
java.lang.RuntimeException: Failed to start quarkus-java.lang.RuntimeException
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
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.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
:gear: JVM Integration Tests - JDK 21
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
=== Annotation processor artifact relocation
Hibernate ORM 7.0 change the coordinates of its annotation processor responsible for the generation of the static metamodel and Jakarta Data repositories
from `org.hibernate.orm:hibernate-jpamodelgen` to `org.hibernate.orm:hibernate-processor`.
Additionally, the annotation processor `org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor` is now deprecated
in favour of `org.hibernate.processor.HibernateProcessor`. Make sure to replace the deprecated processor
if it was explicitly mentioned in the build script, e.g. in the `annotationProcessors` of the Maven's compiler plugin.
to add to the guide
Thanks for the review. I addressed comments and rebased on main. Let's wait for CI and merge, the deadline is close :]
@lucamolteni would you mind reviewing the migration guide, to check if it makes sense?
It makes sense thanks!
Status for workflow Quarkus Documentation CI
This is the status report for running Quarkus Documentation CI on commit 78b597926e17155f1ae8be6074b7373af79fa153.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
[!WARNING] There are other workflow runs running, you probably need to wait for their status before merging.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI on commit 78b597926e17155f1ae8be6074b7373af79fa153.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
You can consult the Develocity build scans.
Flaky tests - Develocity
:gear: JVM Tests - JDK 17
:package: extensions/smallrye-reactive-messaging/deployment
✖ io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector - History
Expecting actual: ["-6","-7","-9","-10","-11","-12","-13","-14"] to start with: ["-6", "-7", "-8", "-9"]-java.lang.AssertionError
java.lang.AssertionError:
Expecting actual:
["-6","-7","-9","-10","-11","-12","-13","-14"]
to start with:
["-6", "-7", "-8", "-9"]
at io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector(ConnectorChangeTest.java:41)
:package: extensions/websockets-next/deployment
✖ io.quarkus.websockets.next.test.broadcast.BroadcastOnOpenTest.testLo - History
Messages: [c2:client1] ==> expected: <true> but was: <false>-org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: Messages: [c2:client1] ==> expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:214)
at io.quarkus.websockets.next.test.broadcast.BroadcastOnOpenTest.assertBroadcast(BroadcastOnOpenTest.java:105)
at io.quarkus.websockets.next.test.broadcast.BroadcastOnOpenTest.testLo(BroadcastOnOpenTest.java:45)
:gear: Gradle Tests - JDK 17 Windows
:package: integration-tests/gradle
✖ io.quarkus.gradle.devmode.IncludedKotlinBuildDevModeTest.main - History
Condition with Lambda expression in io.quarkus.test.devmode.util.DevModeClient was not fulfilled within 1 minutes 30 seconds.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.test.devmode.util.DevModeClient was not fulfilled within 1 minutes 30 seconds.
at app//org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at app//org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at app//org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at app//io.quarkus.test.devmode.util.DevModeClient.getHttpResponse(DevModeClient.java:164)
at app//io.quarkus.gradle.devmode.QuarkusDevGradleTestBase.getHttpResponse(QuarkusDevGradleTestBase.java:165)
:gear: JVM Integration Tests - JDK 17
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
:gear: JVM Integration Tests - JDK 21
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.LoggingResourceTest.testException - History
Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.LoggingResourceTest was not fulfilled within 2 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
at io.quarkus.it.opentelemetry.LoggingResourceTest.testException(LoggingResourceTest.java:113)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
Thank you! I added the relevant information to the migrationg guide: https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.24#jakarta-persistence-hibernate-orm