-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Quarkus 3.0.1 behaves different in reactive native mode #33106
Comments
@Sanne @cescoffier difference between hibernate reactive |
Mutiny most likely, we are not using hibernate in any way or form. |
/cc @jponge |
There's nothing native-specific in Mutiny, and the fact that the tests pass in JVM mode suggest that it might rather be an issue with the driver / integration itself. What exact version of Mutiny is involved? /cc @cescoffier |
Well it worked with quarkus 3.0.0 and fails on 3.0.1, that’s the only
changed piece so far.
Am 03.05.2023 um 18:50 schrieb Julien Ponge ***@***.***>:
There's nothing native-specific in Mutiny, and the fact that the tests pass
in JVM mode suggest that it might rather be an issue with the driver /
integration itself.
What exact version of Mutiny is involved?
/cc @cescoffier <https://github.com/cescoffier>
—
Reply to this email directly, view it on GitHub
<#33106 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEAQL7PKTKWDSZD5GLJLKLXEKEF3ANCNFSM6AAAAAAXURD7FY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Both Quarkus 3.0.0.Final and 3.0.1.Final use Mutiny 2.1.0. |
So, I have now managed to create a full reproducer. Please bring up a Neo4j instance with
Download the attached project
After that, compare the both the following resources Check with
The difference for the resources? The methods behind the paths above are literally the same:
The difference in the working resource is one additional method:
Both - the broken and the fixed version - work in JVM mode. That indicates to me that native image and the method type detection of the JAX RS resources changed between Quarkus 3.0.0 and 3.0.1 The last indicator: This resource does not work at all in native Mode:
Curling it
I have created both examples for pure mutiny and Quarkus without JAX RS, attached as well. They don't expose the problem. pure-mutiny-no-issues.zip Have fun ;) |
Also change return type to Mutiny Multi, standard Flow.Publisher has issues See quarkusio/quarkus#33106. Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michael Simons <[email protected]>
Thanks for all the information @michael-simons! It might be because of f73ec98, but I'm not totally sure. (Note: we should add a test for this) |
My pleasure, Clement! This is a good candidate for test in native functionality
it works as expected in JVM, not in native. Didn't get anything smaller reproduced. |
That condition here f73ec98#diff-f687ef5f49c43c73a60a5b8fbd573e7d38a827fce537bd3097b71a4753635f68R553 would explain why the above resource would start working when you add another method returning |
Uni cannot be used for SSE (does not make sense). But yes... |
In addition to Multi, also handle the Flow.Publisher case.
@michael-simons Can you try with #33146? It passed my local test, and I also added an IT. (I need to catch a plane, I will continue on Tuesday if it does not work). |
I can confirm that it works for all my use cases in the full-reproducer project above, with and without Neo4j. Excellent work thank you! |
In addition to Multi, also handle the Flow.Publisher case.
In addition to Multi, also handle the Flow.Publisher case. (cherry picked from commit 1f7cfc0)
In addition to Multi, also handle the Flow.Publisher case.
This is a reminder for @maxandersen for
quarkiverse/quarkus-neo4j#161 (comment)
and quarkiverse/quarkus-neo4j#165 (comment)
We didn't change anything on hour side between 3.0.0 and 3.0.1 and I am out of options for that.
Issues persists with 3.0.2, too
The text was updated successfully, but these errors were encountered: