-
Notifications
You must be signed in to change notification settings - Fork 2.8k
All Drivers except com.mysql.cj.jdbc.Driver get unregistered between integration tests groups on quarkus 3.18+ #46324
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
Comments
/cc @barreiro (jdbc) |
cc @yrodiere |
Thanks for reporting, but please provide a reproducer if you want us to help. If you, who are familiar with this "aws advanced jdbc wrapper", cannot reproduce this in a reasonable timeframe, you can imagine how much time it would take to me, who has never even used this thing. |
Yeah, I get it... will see if I find the time, but it's not only related to the aws driver, you can see that |
Hi @yrodiere , I managed to reproduce it in https://github.com/rsassoon/quarkus-3-18-sql-no-suitable-driver-found. Seems related to the grouping we do with tests and integration tests, if we comment out that section in build.gradle.kts, then it works as expected, otherwise the bug manifests. Locally DatabaseIT3 works fine, and DatabaseIT and DatabaseIT2 fails with the driver bug. |
Thanks for the reproducer. If I put a few breakpoints in strategic places and run your reprocuder, I get this:
I think your problem comes from the fact that:
Supported drivers are fine, because they get registered automatically by Quarkus (well, Agroal, I think) on startup. Others, not so much. It used to work before, because there was code to essentially implement Now, what do we do? I tend to think that if we have a Or... we just revert #45540 and apply #45533 instead, and move on :/ |
Where we came to the conclusion that we probably should do this:
But also that, to ensure all app runs are the same:
|
Thanks for looking into this @yrodiere! And for the detailed explanation! |
Describe the bug
We make use of aws advanced jdbc wrapper and when running integration tests with different test resources, i.e., grouped tests with Mysql, grouped tests with mysq and kafka, grouped tests with kafka, mysql and wiremock, only the first group passes as for the other groups the required aws driver is unregistered. Seems to be related to quarkus restarting in between groups as described in https://quarkus.io/guides/getting-started-testing#usage-of-withtestresource
We had to add a workaround to make the tests pass:
Worked fine in quarkus 3.17*.
I could not reproduce it with a separate project unfortunately... and can't spend much more time on this.
Consistent behaviour in different environments.
Expected behavior
Aws driver, and others, should not get unregistered between integration tests groups, or rather, should still be registered.
Actual behavior
Aws driver, and others, are unregistered, or are not registered between integration tests groups
How to Reproduce?
Not sure, tried to reproduce it withhttps://github.com/rsassoon/quarkus-3-18-sql-no-suitable-driver-found/tree/master, but no successOutput of
uname -a
orver
Linux TRD-L-8X1L3T3 6.8.0-53-generic #55-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 17 15:37:52 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Output of
java -version
OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS)
Quarkus version or git rev
3.18+
Build tool (ie. output of
mvnw --version
orgradlew --version
)Gradle 8.12.1
Additional information
No response
The text was updated successfully, but these errors were encountered: