[ 
https://issues.apache.org/jira/browse/GEODE-6596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob S. Barrett updated GEODE-6596:
------------------------------------
    Description: 
Idle connection timeouts must scan the {{allConnections}} set since the 
secondary may hold idle connections that won't be in the 
{{availableConnections}}. This requires scanning the entire set of connections 
with an exclusive lock, which can be really expensive for large connection 
pools. If there were no secondary pools we could scan the 
{{availableConnections}} deque in reverse order stopping at the first idle 
connection not exceeding the timeout limit. This scan would be lock free and 
would not touch every connection. The {{availableConnections}} deque is used as 
a LIFO queue so connections at the front are hot and connection at the end are 
cold.


  was:Idle connection timeouts must scan the allConnections set since the 
secondary may hold idle connections that won't be in the availableConnections. 
This requires scanning the entire set of connections with an exclusive lock, 
which can be really expensive for large connection pools. If there were no 
secondary pools we could scan the availableConnections deque in reverse order 
stopping at the first idle connection not exceeding the timeout limit. This 
scan would be lock free and would not touch every connection. The 
availableConnections deque is used as a LIFO queue so connections at the front 
are hot and connection at the end are cold.


> Simplify idle connection expiration
> -----------------------------------
>
>                 Key: GEODE-6596
>                 URL: https://issues.apache.org/jira/browse/GEODE-6596
>             Project: Geode
>          Issue Type: Sub-task
>          Components: client/server
>            Reporter: Jacob S. Barrett
>            Priority: Major
>
> Idle connection timeouts must scan the {{allConnections}} set since the 
> secondary may hold idle connections that won't be in the 
> {{availableConnections}}. This requires scanning the entire set of 
> connections with an exclusive lock, which can be really expensive for large 
> connection pools. If there were no secondary pools we could scan the 
> {{availableConnections}} deque in reverse order stopping at the first idle 
> connection not exceeding the timeout limit. This scan would be lock free and 
> would not touch every connection. The {{availableConnections}} deque is used 
> as a LIFO queue so connections at the front are hot and connection at the end 
> are cold.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to