[ 
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)

Reply via email to