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
So we're having the exact same problem that maxUses seems to describe and we're going to implement it (pgbouncer instances are getting 4/5 and 1/5 split of traffic).
It looks great but feels quite difficult to implement dynamically (especially since a server may be long lived, how do you dynamically update the maxUses option based on traffic and how do you even get that data?).
Wouldn't it be much easier to just reconnect every 30 minutes instead of counting uses of a connection?
I'm not too versed in how this library works, but looking at the maxUsesPerInstance code, I believe it would be as simple as a setInterval to swap a flag from false -> true and then calling destroy on release()
The text was updated successfully, but these errors were encountered:
If I understood correctly, you want to expire a connection after a given time regardless of how many time it was used. We have idleTimeoutMillis but I think it is not suitable for your case, when application is actively using resources this option will not work for cycling connections.
I'm not too versed in how this library works, but looking at the maxUsesPerInstance code, I believe it would be as simple as a setInterval to swap a flag from false -> true and then calling destroy on release()
Not sure about this idea, but I think we have two ways of solving this
Provide a expireConnectionAfterMillis (or something similar) option, so a connection is removed if used after certain time
Expose internal PooledObject info so application can watch connections and remove them if some condition in application logic satisfied (by calling pool.destroy)
I think (1) looks like a better approach, but it is also really similar to maxUses; implementation should probably provide option to either destroy resource by time or uses.
So we're having the exact same problem that maxUses seems to describe and we're going to implement it (pgbouncer instances are getting 4/5 and 1/5 split of traffic).
It looks great but feels quite difficult to implement dynamically (especially since a server may be long lived, how do you dynamically update the maxUses option based on traffic and how do you even get that data?).
Wouldn't it be much easier to just reconnect every 30 minutes instead of counting uses of a connection?
I'm not too versed in how this library works, but looking at the maxUsesPerInstance code, I believe it would be as simple as a setInterval to swap a flag from false -> true and then calling destroy on release()
The text was updated successfully, but these errors were encountered: