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 latest released. At the moment of writing this - 4.5.13
Context
We have encountered a metrics issue while using the non-blocking Postgres DB driver with Vertx.
The reason why two issues are mentioned in one ticket is that I believe they are tightly coupled and fixing one potentially fixes the second.
Issue 1: vertx_pool_queue_pending doesn't decrease after connection loss
When we have pending queries (vertx_pool_queue_pending{pool_type="sql",}) and the database connection is lost (due to a DB restart, network glitch, etc.), the vertx_pool_queue_pending metric remains stuck. It never goes below the value recorded at the time of connection loss.
This means that in the metrics graph, it appears as if there are always pending queries waiting for a connection—even when the database connection is restored immediately. The only way to resolve this issue is to restart the service.
I've reviewed VertxPoolMetrics and related classes, but it's unclear where the issue lies. Notably, any queries that were pending when the connection was lost are never executed after reconnection.
Issue 2: vertx_pool_queue_pending freezes with high load
We also observed that when sending a high volume of requests, the vertx_pool_queue_pending metric does not decrease correctly.
anvx
changed the title
Metrics vertx_pool_queue_pending doesn'tdecrease after connection loss
Metrics vertx_pool_queue_pending doesn't decrease after connection loss
Mar 4, 2025
Version
The latest released. At the moment of writing this - 4.5.13
Context
We have encountered a metrics issue while using the non-blocking Postgres DB driver with Vertx.
The reason why two issues are mentioned in one ticket is that I believe they are tightly coupled and fixing one potentially fixes the second.
Issue 1:
vertx_pool_queue_pending
doesn't decrease after connection lossWhen we have pending queries (
vertx_pool_queue_pending{pool_type="sql",}
) and the database connection is lost (due to a DB restart, network glitch, etc.), thevertx_pool_queue_pending
metric remains stuck. It never goes below the value recorded at the time of connection loss.This means that in the metrics graph, it appears as if there are always pending queries waiting for a connection—even when the database connection is restored immediately. The only way to resolve this issue is to restart the service.
I've reviewed
VertxPoolMetrics
and related classes, but it's unclear where the issue lies. Notably, any queries that were pending when the connection was lost are never executed after reconnection.Issue 2:
vertx_pool_queue_pending
freezes with high loadWe also observed that when sending a high volume of requests, the
vertx_pool_queue_pending
metric does not decrease correctly.Do you have a reproducer?
Steps to reproduce
Please run the test above and take a look at the logs
Observed Behavior
vertx.pool.queue.pending
(except for the 5 connections actively processing queries).vertx.pool.in.use
drops to 0, meaning no queries are actively being processed.vertx.pool.queue.pending
freezes at around 299,970 and never decreases.The text was updated successfully, but these errors were encountered: