You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the data field for a datasource is set UP, however as this is reactive code theres a race condition existing where the checkFailures method in the same class can set the data field to DOWN before this UP data is set. This can result in the health check being DOWN but the datasource being UP.
The fix for this is actually extremely easy
Change the execute section to set the UP data if the result is not a failure, and remove the setting of this data on line 79
Describe the bug
In
quarkus/extensions/reactive-datasource/runtime/src/main/java/io/quarkus/reactive/datasource/runtime/ReactiveDatasourceHealthCheck.java
Line 79 in 72297fb
the data field for a datasource is set UP, however as this is reactive code theres a race condition existing where the checkFailures method in the same class can set the data field to DOWN before this UP data is set. This can result in the health check being DOWN but the datasource being UP.
The fix for this is actually extremely easy
Change the execute section to set the UP data if the result is not a failure, and remove the setting of this data on line 79
Expected behavior
If the connection is down and the query can't be executed then the health check should be
Actual behavior
If the connection is down and the query can't be executed then the health check is
How to Reproduce?
implementation("io.quarkus:quarkus-reactive-mysql-client")
connecting the DB from "1"/q/health/ready
endpointOutput of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
No response
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response
The text was updated successfully, but these errors were encountered: