1

I'm using Quarkus 1.13.3.FINAL and I'm facing issues on my reactive datasource health check when deploying my application. I have both JDBC and reactive datasources being used. Here's how they're set up:

%devops.quarkus.datasource.jdbc.url= jdbc:postgresql://<host>:5432/<database>?sslmode=require
%devops.quarkus.datasource.reactive.url= postgresql://<host>:5432/<database>
%devops.quarkus.datasource.reactive.postgresql.ssl-mode=require

What confuses me is that the exception indicates an SSL handshake error for the reactive datasource, but the JDBC one works fine. Also, they both work fine locally.

2021-05-03 16:41:04,777 INFO  [io.sma.health] (vert.x-worker-thread-10) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Reactive PostgreSQL connections health check","status":"DOWN","data":{"<default>":"up"}},{"name":"Database connections health check","status":"UP"}]}
2021-05-03 16:41:14,572 SEVERE [io.ver.cor.net.imp.ConnectionBase] (vert.x-eventloop-thread-1) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2021-05-03 16:41:14,573 WARN  [io.qua.rea.dat.run.ReactiveDatasourceHealthCheck] (vert.x-eventloop-thread-1) Error obtaining database connection for healthcheck of datasource '<default>': io.vertx.core.VertxException: SSL handshake failed

I've read that reactive and JDBC datasources couldn't be used simultaneously, but it doesn't seem to the case anymore.

My need for a reactive datasource exists because I use the Vert.x RabbitMQ client. This gave me a reactive consumer, so I couldn't use my JPA repositories any longer and had to resort to reactive datasource.

Is there some configuration I'm missing?

Vítor Antero
  • 106
  • 1
  • 8

1 Answers1

3

I was facing this same issue(with exactly same stack). Found some clues on Zulip and the official documentation. All it took was adding the trust-all config and ssl mode on reactive database url:

quarkus.datasource.reactive.trust-all=true
quarkus.datasource.reactive.url=postgresql://<host>:5432/<database>?sslmode=verify-ca