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
- Document Reactive SQL Clients pipelining Follows-up on https://github.com/quarkusio/quarkus/issues/32822 — committed to tsegismont/quarkus by tsegismont a year ago
- Document Reactive SQL Clients pipelining Follows-up on https://github.com/quarkusio/quarkus/issues/32822 — committed to sberyozkin/quarkus by tsegismont a year ago
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:
PgPoolCreator
object, settingpipelining-limit
in configuration should be enoughI’m out of the office and will return on May 2. If can take care of this when I’m back.
https://github.com/quarkusio/quarkus/pull/32821 takes care of this