-
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
MySql reactive with SSL uses SSL settings only for first connection in pool #35278
Comments
/cc @evanchooly (kotlin), @geoand (kotlin) |
CC @tsegismont |
We currently have the same problem Testet also with: On quarkusPlatformVersion=3.0.2.Final => no failure (works) application.properties // test with timeout of 10 seconds === Quarkus - LOG === === Mariadb - LOG === === Mariadb - LOG => 10 seconds after quarkus.datasource.reactive.idle-timeout === === Quarkus - LOG => 10 seconds after quarkus.datasource.reactive.idle-timeout === === Mariadb - LOG => 10 seconds after quarkus.datasource.reactive.idle-timeout === |
Today we updated our db-ssl-connection test application to the new Quarkus 3.3.0 version. application.properties
build.gradle.kts
Our class "PrtgResource" for PRTG Monitoring
|
Thanks for the updates @matthkarr and @Frank12B We'll come back to you asap |
This will be fixed in Vert.x 4.4.5 |
Also bump Quarkus HTTP to 5.0.3.Final to handle a breaking change in the Vert.x API. Fix quarkusio#35180 Fix quarkusio#34719 Fix quarkusio#35278
Also bump Quarkus HTTP to 5.0.3.Final to handle a breaking change in the Vert.x API. Fix quarkusio#35180 Fix quarkusio#34719 Fix quarkusio#35278
Describe the bug
When using mysql reactive extension (mariadb 10.x) with ssl-mode required or preferred (others not tested), the first connection in the pool successfully establishes a connection to the database successfully, but subsequent connection seems not to use given ssl settings in the config.
When a connection from the pool except the first one is used following Exception is thrown:
Access denied for user 'user'@'host' (using password: YES)
I assume that only the first connection is valid because limiting the connection pools max size to 1 does not cause the error above.
Expected behavior
All connections in a MySqlPool are using ssl-mode: required flag to establish an encrypted connection.
Actual behavior
Only the first connection seems to be able to establish an encrypted connection to the database.
How to Reproduce?
quarkus.datasource.db-kind=mysql
quarkus.datasource.username=
quarkus.datasource.password=
quarkus.datasource.reactive.url=mysql://myServer:3306/mydb
quarkus.datasource.reactive.mysql.ssl-mode=required
quarkus.datasource.reactive.max-size=1
test wit timeout of 5 seconds
quarkus.datasource.reactive.idle-timeout=5
quarkus.datasource.reactive.reconnect-attempts: 1
quarkus.datasource.reactive.reconnect-interval: 1
Output of
uname -a
orver
running in container: registry.access.redhat.com/ubi8/openjdk-17:1.16
Output of
java -version
No response
GraalVM version (if different from Java)
No response
Quarkus version or git rev
3.0.3+
Build tool (ie. output of
mvnw --version
orgradlew --version
)gradle kotlin
Additional information
This behavior started from version 3.0.3 until the latest release now.
The text was updated successfully, but these errors were encountered: