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

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

After some thought one approach to fix this might be to have the leader send 
the cnxn info through the session touch call in the case of PING, and only 
allow the timeout for a session to be lowered if the requester is the current 
owner of that session. It feels like a hack (you probably wouldn't want to 
force a valid "owner" to be checked for each touch) but I think it would solve 
that particular race condition. 

> 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