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

Rewrite Hibernate Reactive extension to decouple it from Hibernate ORM and use a common base instead #28629

Open
yrodiere opened this issue Oct 17, 2022 · 7 comments
Labels
area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive area/housekeeping Issue type for generalized tasks not related to bugs or enhancements area/reactive

Comments

@yrodiere
Copy link
Member

Description

See #21110 (comment)

But currently the Hibernate Reactive extension for Quarkus is in a problematic shape: it's highly coupled to the core of the Hibernate ORM blocking extension, and the presence of it actually taints the state of the blocking ORM instances. It needs to be rewritten with a more flexible design.

Essentially the Hibernate Reactive extension is relying on the Hibernate ORM extension, reusing parts of it but not others. It's imperfect, so sometimes it reuses things that make no sense for Hibernate Reactive (only for ORM), and sometimes it fails to reuse things that would make sense for both ORM and Hibernate Reactive (e.g. #28576).

Implementation ideas

We will probably want a common base for both Hibernate ORM and Reactive, and two separate extensions for Hibernate ORM and Reactive. We'll use SPIs to have each extension customize the base where necessary.

This will most likely be a large change, so it will have to wait until @Sanne is done with the Hibernate ORM 6 upgrade; else we'll have many conflicts.

@yrodiere yrodiere added kind/enhancement New feature or request area/reactive area/hibernate-orm Hibernate ORM labels Oct 17, 2022
@quarkus-bot quarkus-bot bot added area/hibernate-reactive Hibernate Reactive area/persistence OBSOLETE, DO NOT USE labels Oct 17, 2022
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 17, 2022

/cc @DavideD, @Sanne, @gavinking

@geoand
Copy link
Contributor

geoand commented Mar 2, 2023

@Sanne is this being addressed by your changes?

@Sanne
Copy link
Member

Sanne commented Mar 2, 2023

No

@geoand
Copy link
Contributor

geoand commented Mar 2, 2023

KK, thanks

@yrodiere yrodiere removed the area/persistence OBSOLETE, DO NOT USE label Aug 14, 2024
@dgusoft
Copy link

dgusoft commented Oct 10, 2024

Is there any plan to work on this? quarkus-hibernate-reactive-orm version 3.15.1 uses hibernate 6.6.0.Final, so the preconditions should be matched, aren't they?

@yrodiere
Copy link
Member Author

Yes the upgrade to Jakarta EE and ORM 6+ was done. But in general, whether someone will work on it depends on other priorities: just because something is unstuck, doesn't mean it's the best use of our time.

In this specific case, I just had a discussion about it (before you commented) with a teammate, if all goes well he will start working on it soon.

For sure it won't be included in Quarkus 3.15 LTS, though: it's a major refactoring and it wouldn't be reasonable to backport it.

@dgusoft
Copy link

dgusoft commented Oct 11, 2024

That sounds great. I think I can't help implementing that feature, because I have no experience with the quarkus framework code, but if you need a tester, let me know.

@yrodiere yrodiere added area/housekeeping Issue type for generalized tasks not related to bugs or enhancements and removed kind/enhancement New feature or request labels Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive area/housekeeping Issue type for generalized tasks not related to bugs or enhancements area/reactive
Projects
None yet
Development

No branches or pull requests

4 participants