quarkus: Reactive Postgres pipelining cannot be enabled

Describe the bug

Setting pipelining level of a postgres reactive configuration is not picked it up by Vert-x while creating the connection pool.

Expected behavior

https://github.com/eclipse-vertx/vertx-sql-client/blob/a58127877a6fbb5b9ece9c58509637f699181826/vertx-pg-client/src/main/java/io/vertx/pgclient/spi/PgDriver.java#L48 requires https://github.com/quarkusio/quarkus/blob/85d9e172b57539c204b237464d1ba1e3a97c0600/extensions/reactive-pg-client/runtime/src/main/java/io/quarkus/reactive/pg/client/runtime/PgPoolRecorder.java#L94 to allocate a PgPoolOptions options type to make the pipelining settings available while allocating the connection pool.

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 16 (13 by maintainers)

Commits related to this issue

Most upvoted comments

I think we need additional changes:

I gave this a second thought, we need to revert https://github.com/quarkusio/quarkus/pull/32821

PgPoolOptions is an impl detail, it should not be exposed. It is created internally when the user wants a pooled client, not a connection pool (see https://vertx.io/docs/vertx-pg-client/java/#_pool_versus_pooled_client).

What Quarkus shall provide to users is a connection pool, not a pooled client. Pipelining for Quarkus users is possible, provided they acquire a connection and then submit several queries at once instead of waiting results between queries.

@geoand thank you for the quick fix.

I think we need additional changes:

  • users shouldn’t have to create a PgPoolCreator object, setting pipelining-limit in configuration should be enough
  • Pg client is not the only one affected, MySQL and DB2 are affected too

I’m out of the office and will return on May 2. If can take care of this when I’m back.