[ 
https://issues.apache.org/jira/browse/CURATOR-8?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13617858#comment-13617858
 ] 

Shevek commented on CURATOR-8:
------------------------------

Issue made more complex by the fact that connection timeouts are handled within 
the ZooKeeper instance and ZK does not give a signal to the outer framework 
when it's exhausted its Host loop.

Issue made simpler by the fact that we can redeliver a changed Host set to the 
ZooKeeper instance whenever the Ensemble says so, and other than doing that, 
there's nothing we can usefully (functionally) do when the Host loop _is_ 
exhausted except perhaps tell the user application.
                
> Possible mishandling of connection timeouts on large/shooty clusters
> --------------------------------------------------------------------
>
>                 Key: CURATOR-8
>                 URL: https://issues.apache.org/jira/browse/CURATOR-8
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Client
>            Reporter: Shevek
>            Assignee: Jordan Zimmerman
>
> See CURATOR-7 for background.
> ConnectionState.checkTimeouts resets the connection if the session timeout 
> has expired, whether or not we ever had a session. If one has a large, shooty 
> cluster with a short session timeout and a long connection timeout, this 
> might reset the host list pointer to zero every sessionTimeoutMs, never 
> letting it connect to a valid, available host towards the end of the list. On 
> the other hand, if it is an assertion that sessionTimeout > connectionTimeout 
> always, then the min() call is not required and the ifelse should read "else 
> if (elapsed > connectionTimeoutMs)" instead of just "else". 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to