[
https://issues.apache.org/jira/browse/GEODE-6604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacob S. Barrett updated GEODE-6604:
------------------------------------
Description:
Connection lifetime expiration currently requires scanning the
{{allConnections}} set with exclusive lock looking for connections that are
over the lifetime limit. If the connection needs to be expired then the
{{PooledConnection}} as its {{Connection}} swapped out for a new one to
different server or if the servers are balanced the lifetime is extended. If we
remove the secondary pool then expired connections could simply be removed from
the {{availableConnections}} and {{allConnections}} and destroyed. A new
connection would be created either on demand of from pre-fill. No complicated
logic is required to support swapping out the underlying {{Connection}}.
The connection swapping logic contains a synchronization and wait / notifyAll
contention on all passivate and activate calls. Removing this logic should
improve performance.
was:
Connection lifetime expiration currently requires scanning the
{{allConnections}} set with exclusive lock looking for connections that are
over the lifetime limit. If the connection needs to be expired then the
{{PooledConnection}} as its {{Connection}} swapped out for a new one to the
same server. If we remove the secondary pool then expired connections could
simply be removed from the {{availableConnections}} and {{allConnections}} and
destroyed. A new connection would be created either on demand of from pre-fill.
No complicated logic is required to support swapping out the underlying
{{Connection}}.
> Simplify connection lifetime expiration / load conditioning.
> ------------------------------------------------------------
>
> Key: GEODE-6604
> URL: https://issues.apache.org/jira/browse/GEODE-6604
> Project: Geode
> Issue Type: Sub-task
> Components: client/server
> Reporter: Jacob S. Barrett
> Assignee: Jacob S. Barrett
> Priority: Major
>
> Connection lifetime expiration currently requires scanning the
> {{allConnections}} set with exclusive lock looking for connections that are
> over the lifetime limit. If the connection needs to be expired then the
> {{PooledConnection}} as its {{Connection}} swapped out for a new one to
> different server or if the servers are balanced the lifetime is extended. If
> we remove the secondary pool then expired connections could simply be removed
> from the {{availableConnections}} and {{allConnections}} and destroyed. A new
> connection would be created either on demand of from pre-fill. No complicated
> logic is required to support swapping out the underlying {{Connection}}.
> The connection swapping logic contains a synchronization and wait / notifyAll
> contention on all passivate and activate calls. Removing this logic should
> improve performance.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)