[
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: Change idle connection
expiration to only scan the available connections queue in reverse order for
expired connections and destroy.
)
> 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)