[
https://issues.apache.org/jira/browse/PHOENIX-5812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17076265#comment-17076265
]
Istvan Toth commented on PHOENIX-5812:
--------------------------------------
I agree with Josh, but I'd like to add two things to consider:
I am not sure that an adaptive load-based TTL is ideal. Connection pool
managers can be easily configured to drop connections that have been idle for X
time, but if the time is not a constant, then the connection has to be checked
each time it is assigned. This is possible but not free.
I think we should provide a configurable idle time based option even if we also
implement the load-based approach.
That said, killing off old connections once we reach a certain limit is still a
better solution that failing randomly due to resource exhaustion.
The other thing to consider is how this would affect PQS. Should this limit be
per PQS process, per user, or per client ?
How would a PQS server that is unaware of this feature behave ? Do we
want/need to handle this from PQS side, and if we do, do we need
additional/separate settings compared to the thick client ?
> Automatically Close "Idle" Long Open Connections
> ------------------------------------------------
>
> Key: PHOENIX-5812
> URL: https://issues.apache.org/jira/browse/PHOENIX-5812
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Daniel Wong
> Priority: Major
>
> As Phoenix may keep a maximum default number of connections. Badly
> performing client calls or internal errors (See PHOENIX-5802). Can cause
> total available connections to go to 0. Proposing a client connection
> monitor with a connection reaper like task to reap idle connections.
> Definition of "Idle"
> Simple may be simple time based say if a connection has been open for
> configurable amount of minutes simply close.
> More complicated solution may be keeping track of last interaction time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)