Skip to content
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

Hibernate Reactive 2.0.0.Alpha2 & re-enabling all HR modules #31454

Merged
merged 20 commits into from
Mar 20, 2023

Conversation

Sanne
Copy link
Member

@Sanne Sanne commented Feb 27, 2023

Putting this here as it's almost useable.

Versions:

  1. Hibernate Reactive 2.0 doesn't exist yet - it's not quite ready, this is using 2.0.0.Alpha1 and there's some caveats attached (to be documented, postponing that to after seeing a green CI build so I get a better picture myself).
  2. It's requiring Hibernate ORM 6.2.0.CR3 - ideally we actually need more patches now included in 6.2 branch of ORM, but we don't want to wait for another ORM core tag.

Known working:

  1. Primary integration tests are working fine
  2. DB2 tests work fine
  3. PostgreSQL tests work fine
  4. MySQL tests work fine

Known problems:

  1. Panache Reactive tests : a single failure, but an odd one.
  2. Hibernate Reactive REST data with Panache integration tests trigger some of the not-yet-supported queries (it appears to be a lazy initialization load triggered during query result processing)

Unknown:

There's a number of other modules depending on Hibernate Reactive which I'm unable to test because of miscellaneous build & container issues. e.g. WebAuthn, Kafka, gRPC, OpenTelemetry Reactive, Smallrye Reactive Messaging.

Also, we don't have Oracle / Hibernate Reactive integration tests apparently.

cc/ @geoand @gsmet @yrodiere @cescoffier

Fixes #31242

@quarkus-bot
Copy link

quarkus-bot bot commented Feb 27, 2023

Thanks for your pull request!

The title of your pull request does not follow our editorial rules. Could you have a look?

  • title should preferably start with an uppercase character (if it makes sense!)

This message is automatically generated by a bot.

@quarkus-bot quarkus-bot bot added area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle area/hibernate-reactive Hibernate Reactive area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure area/panache area/persistence OBSOLETE, DO NOT USE area/reactive-messaging area/smallrye labels Feb 27, 2023
@Sanne Sanne force-pushed the HibernateReactive2 branch 2 times, most recently from aaf4e12 to 9ebbd55 Compare March 1, 2023 22:54
@quarkus-bot quarkus-bot bot added the area/hibernate-orm Hibernate ORM label Mar 1, 2023
@Sanne
Copy link
Member Author

Sanne commented Mar 1, 2023

Rebased & upgraded to Hibernate ORM 6.2.0.CR3

@Sanne Sanne force-pushed the HibernateReactive2 branch from 9ebbd55 to 3292cfc Compare March 6, 2023 13:39
@Sanne
Copy link
Member Author

Sanne commented Mar 6, 2023

Based now on Hibernate Reactive 2.0.0.Alpha1 so I'll "undraft" it to get CI feedback.

@Sanne Sanne marked this pull request as ready for review March 6, 2023 13:42
@Sanne Sanne force-pushed the HibernateReactive2 branch 3 times, most recently from 684f1b2 to 51c2ed1 Compare March 6, 2023 22:15
@quarkus-bot

This comment has been minimized.

@Sanne Sanne force-pushed the HibernateReactive2 branch from 51c2ed1 to 508e692 Compare March 7, 2023 10:35
@Sanne
Copy link
Member Author

Sanne commented Mar 7, 2023

Rebasing to test with the other two ORM related PRs

@Sanne
Copy link
Member Author

Sanne commented Mar 7, 2023

Status update: we seem to have a setback in the Panache integration tests; I didn't have that many failures just 3 days ago.

Unfortunately the Panache ITs are of the old style: runs a series of operations and if all of them succeeds, returns "OK" - we only test for OK to be returned. On top of this, they are chained & ordered, potentially leading to cascading failures of assumptions; not great for evaluating in short time what's going on.

I didn't have time to check that so there's now many more Panache tests disabled - this to allow getting a picture of other components by CI, while we try having a better look at Panache tests.

cc/ @FroMage perhaps you can help dissecting / sorting them? It's very likely that the problem is in HR, but I suspect there's many tests failing for the same underlying issue - would be great to figure that out.

gsmet
gsmet previously requested changes Mar 7, 2023
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.

In #31242, I listed what should be reverted and I would prefer we don't revert fd56088 .
It wasn't in the list for a good reason as it reduces our dependency to the Hibernate Reactive modules in the codebase. It's a small step forward but still.

I also added a question regarding the sequences but I will let @yrodiere confirm if it's an issue or not.

@gsmet
Copy link
Member

gsmet commented Mar 7, 2023

If we have significant issues that are remaining, I would advise to release Alpha 5 tomorrow without Hibernate Reactive and release an Alpha6 next week when things are more stable.

I will let you decide what you want to do. To be in Alpha5, things have to be merged in main by this evening 7PM Paris time.

@Sanne Sanne force-pushed the HibernateReactive2 branch from 508e692 to 6240f14 Compare March 7, 2023 13:28
@Sanne Sanne force-pushed the HibernateReactive2 branch from cfe3854 to 2f2caf4 Compare March 18, 2023 17:16
@Sanne
Copy link
Member Author

Sanne commented Mar 18, 2023

Rebased on #31953 , which is in turn rebased on #31959

@quarkus-bot
Copy link

quarkus-bot bot commented Mar 18, 2023

Failing Jobs - Building 2f2caf4

Status Name Step Failures Logs Raw logs
✔️ Gradle Tests - JDK 11
Gradle Tests - JDK 11 Windows Build Failures Logs Raw logs
✔️ JVM Tests - JDK 11
✔️ JVM Tests - JDK 17
JVM Tests - JDK 17 Windows Build Failures Logs Raw logs
✔️ JVM Tests - JDK 19

Full information is available in the Build summary check run.

Failures

⚙️ Gradle Tests - JDK 11 Windows #

📦 integration-tests/gradle

io.quarkus.gradle.devmode.AnnotationProcessorSimpleModuleDevModeTest.main line 13 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.quarkus.test.devmode.util.DevModeTestUtils that uses java.util.function.Supplier, java.util.function.Supplierjava.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReferencejava.lang.String, java.lang.Stringboolean was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

io.quarkus.gradle.devmode.BasicKotlinApplicationModuleDevModeTest.main line 19 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.quarkus.test.devmode.util.DevModeTestUtils that uses java.util.function.Supplier, java.util.function.Supplierjava.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReferencejava.lang.String, java.lang.Stringboolean was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

io.quarkus.gradle.devmode.JandexMultiModuleProjectDevModeTest.main line 21 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.quarkus.test.devmode.util.DevModeTestUtils that uses java.util.function.Supplier, java.util.function.Supplierjava.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReferencejava.lang.String, java.lang.Stringboolean was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

io.quarkus.gradle.devmode.ModuleWithParentDependencyDevModeTest.main line 14 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.quarkus.test.devmode.util.DevModeTestUtils that uses java.util.function.Supplier, java.util.function.Supplierjava.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReferencejava.lang.String, java.lang.Stringboolean was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

⚙️ JVM Tests - JDK 17 Windows #

- Failing: extensions/grpc/deployment extensions/resteasy-classic/rest-client/runtime extensions/smallrye-reactive-messaging-amqp/deployment 
! Skipped: extensions/amazon-lambda-http/deployment extensions/amazon-lambda-http/http-event-server extensions/amazon-lambda-rest/deployment and 122 more

📦 extensions/grpc/deployment

io.quarkus.grpc.server.devmode.GrpcDevModeTest.testEchoStreamReload - More details - Source on GitHub

java.util.concurrent.RejectedExecutionException
	at org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:38)
	at org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2136)

📦 extensions/resteasy-classic/rest-client/runtime

io.quarkus.restclient.runtime.RestClientBaseTest. - More details - Source on GitHub

java.io.IOException: Failed to delete temp directory D:\a\quarkus\quarkus\extensions\resteasy-classic\rest-client\runtime\target\junit10018526019654287746. The following paths could not be deleted (see suppressed exceptions for details): 
	at org.junit.jupiter.engine.extension.TempDirectory$CloseablePath.createIOExceptionWithAttachedFailures(TempDirectory.java:350)
	at org.junit.jupiter.engine.extension.TempDirectory$CloseablePath.close(TempDirectory.java:251)

📦 extensions/smallrye-reactive-messaging-amqp/deployment

io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest.test line 30 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

io.quarkus.smallrye.reactivemessaging.amqp.devmode.AmqpDevModeTest.testCodeUpdate - More details - Source on GitHub

java.util.concurrent.RejectedExecutionException
	at org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:38)
	at org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2136)

io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest.testConsumerUpdate line 77 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: 
Assertion condition defined as a io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest 
Expecting size of:

io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest.testProducerUpdate line 48 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: 
Assertion condition defined as a io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest 
Expecting size of:

io.quarkus.smallrye.reactivemessaging.amqp.SecuredAmqpTest.test - More details - Source on GitHub

java.util.concurrent.RejectedExecutionException
	at org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:38)
	at org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2136)

@Sanne Sanne changed the title [Preview] Hibernate Reactive 2.0 Hibernate Reactive 2.0.0.Alpha2 & re-enabling all HR modules Mar 19, 2023
@Sanne
Copy link
Member Author

Sanne commented Mar 20, 2023

It's looking good - I'll merge this and tracked follow-up work in #31974

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure area/panache area/persistence OBSOLETE, DO NOT USE area/reactive-messaging area/smallrye
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ORM6] Reenable Hibernate Reactive modules when HR is ready for Quarkus 3
5 participants