Hibernate-reactive: broken on Hibernate ORM master

Created on 3 Aug 2020  ·  16Comments  ·  Source: hibernate/hibernate-reactive

Hibernate Reactive doesn't work against current master of Hibernate ORM.

All the tests fail with something like:

Caused by: org.hibernate.AssertionFailure: possible non-threadsafe access to the session
    at org.hibernate.reactive.loader.ReactiveResultSetProcessor.initializeEntity(ReactiveResultSetProcessor.java:55)
    at org.hibernate.reactive.loader.ReactiveLoaderBasedResultSetProcessor.lambda$reactiveInitializeEntitiesAndCollections$3(ReactiveLoaderBasedResultSetProcessor.java:142)
    at org.hibernate.reactive.loader.ReactiveLoaderBasedResultSetProcessor$$Lambda$364/0000000000000000.apply(Unknown Source)
    at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:995)

The cause appears to be the changes committed on Jul 30 by @yrodiere.

bug

All 16 comments

Ok, so it's my fault. How can I help you?

Ok, so it's my fault. How can I help you?

No, it's not your fault, it's the fault of we have no mechanism in either project to detect when something like this happens. It's only by pure chance that I got lucky and noticed this quickly instead of weeks later when tracking down the cause of the breakage would have been much more difficult.

So we're going to need to come up with some way to find problems like this automatically, and it's not clear what's the best way to do that.

So after carefully looking over the commits, I think it looks like all we're going to need to do is replicate those changes over to our copy/paste-job code. If I'm understanding correctly, we just need to know how to interpret these nulls in the list of hydrated objects.

So we're going to need to come up with some way to find problems like this automatically, and it's not clear what's the best way to do that.

To begin with, we can create a JOB that tests with the latest ORM snapshot

To begin with, we can create a JOB that tests with the latest ORM snapshot

Well sure, but is there a way to make it run on a schedule? I had the (perhaps wrong) impression we couldn't do that.

So we're going to need to come up with some way to find problems like this automatically, and it's not clear what's the best way to do that.

To begin with, we can create a JOB that tests with the latest ORM snapshot

I have something similar for Hibernate Search. Every time the ORM build finishes, I run a Hibernate Search build that uses the latest Hibernate ORM snapshot. However, I can only do that because I'm using Jenkins jobs, and they allow triggering a job after another job finishes.

I have something similar for Hibernate Search. Every time the ORM build finishes, I run a Hibernate Search build that uses the latest Hibernate ORM snapshot. However, I can only do that because I'm using Jenkins jobs, and they allow triggering a job after another job finishes.

That would be perfect except we don't have Jenkins here yet :-/

I'm going to create one.

I'm going to create one.

OK great.

The problem is fixed in #311.

@Sanne when is the next release of ORM?

hi @gavinking , micro releases of ORM are triggered on demand. We do one tomorrow if it's urgent, or we can wait for more PRs if that suites you better. Just let me know what's your preference.

Do I understand correctly that nothing else beyond https://github.com/hibernate/hibernate-orm/pull/3484 is required?

hi @gavinking , micro releases of ORM are triggered on demand. We do one tomorrow if it's urgent, or we can wait for more PRs if that suites you better. Just let me know what's your preference.

Well, I guess it's not super-urgent, but it sure would be nice to be able to merge #310 and #311 and not have them on my mind.

So sure, it would be nice, unless we can think of something else we need.

Do I understand correctly that nothing else beyond https://github.com/hibernate/hibernate-orm/pull/3484 is required?

I believe that #311 completely fixes the problem.

It's available now

Awesome, thanks, I will merge everything tonight then!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hantsy picture hantsy  ·  7Comments

markusdlugi picture markusdlugi  ·  30Comments

blafond picture blafond  ·  7Comments

akoufa picture akoufa  ·  30Comments

arifpratama398 picture arifpratama398  ·  10Comments