-
-
Notifications
You must be signed in to change notification settings - Fork 996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Empty error message, db-pool
size surpassed
#3214
Labels
idea
Needs of discussion to become an enhancement, not ready for implementation
needs-repro
pending reproduction
QOS
Comments
steve-chavez
added
QOS
needs-repro
pending reproduction
idea
Needs of discussion to become an enhancement, not ready for implementation
labels
Feb 7, 2024
This was referenced Apr 15, 2024
Update on nikita-volkov/hasql-pool#43, we now have nikita-volkov/hasql-pool#45. So with those new observations, we should be able to add two more metrics:
And then we can close this issue. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
idea
Needs of discussion to become an enhancement, not ready for implementation
needs-repro
pending reproduction
QOS
Environment
Problem
A running instance with a
db-pool = 60
reports the following problems.1. The authenticator role surpases db-pool connections.
Here it can be seen it reaches 71 connections.
At some other time it reports 130 connections and surpasses pg
max_connections
:2. PostgREST replies with an empty error message.
A subsequent request succeeds since PostgREST recovers though.
I wasn't able to find the root cause of this. This instance in particular just went through a migration from ipv4 to ipv6 only.
However it's clear that the hasql pool is not recycling the pool connections. An empty error message shouldn't happen too.
Proposal
We need to increase the pool log traces. Log whenever the hasql pool reaper works (ref). This way at least we can find out if the pool is misbehaving. Currently it's not possible to know if the reaper fails.
Workarounds
A connection limit can be set on the authenticator role so the
db-pool
max is guaranteed.An idle timeout can be set in case the pool doesn't recycle idle connections.
Related
/metrics
admin endpoint #2129The text was updated successfully, but these errors were encountered: