[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12932530#action_12932530
 ] 

Camille Fournier commented on ZOOKEEPER-922:
--------------------------------------------

This only changes the timeout on case of a detected exception that closes the 
socket (see the patch). The purpose in fact is to enable environments with 
machines that may have long GC pause times to have long max session timeouts, 
while still clearing the ephemeral nodes of crashed clients more quickly.
The only crash I am intending to deal with here is the crash that causes an 
exception closing the socket on the server side. This can also be caused by a 
switch failure, but in my environment it is much much much much more likely to 
be caused by the client process crashing. I don't expect to be able to 
perfectly deal with all cases of client crash, because there are some that 
don't cause the socket to close and that can't be differentiated from a client 
doing a long full GC. 

> enable faster timeout of sessions in case of unexpected socket disconnect
> -------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-922
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-922
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: server
>            Reporter: Camille Fournier
>            Assignee: Camille Fournier
>             Fix For: 3.4.0
>
>         Attachments: ZOOKEEPER-922.patch
>
>
> In the case when a client connection is closed due to socket error instead of 
> the client calling close explicitly, it would be nice to enable the session 
> associated with that client to time out faster than the negotiated session 
> timeout. This would enable a zookeeper ensemble that is acting as a dynamic 
> discovery provider to remove ephemeral nodes for crashed clients quickly, 
> while allowing for a longer heartbeat-based timeout for java clients that 
> need to do long stop-the-world GC. 
> I propose doing this by setting the timeout associated with the crashed 
> session to "minSessionTimeout".

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to