[
https://issues.apache.org/jira/browse/ZOOKEEPER-922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981298#action_12981298
]
Benjamin Reed commented on ZOOKEEPER-922:
-----------------------------------------
camille is it fair to characterize this proposal as a way to mark a client as
failed faster, when compelling evidence (the socket exception) indicates that
the client has failed.
i think it is a good idea. there are a couple of things that i see as
problematic:
1. it really only covers process failures. if the machine fails, you will not
get a connection reset.
2. you only get the connection reset if you try to send something to the
machine, so unless a watch triggers or there was a request outstanding that
completes after the process fails, you will not get a reset.
i was looking a bit closer at the false detections: a client needs to move to a
new server, so it closes a connection and then connects to a new server. i
think if we made the new connection before the close, the suspicion from the
old server would be ignored.
it would be cool to get this feature if we can address the above. i was
thinking that perhaps we could do something to address this with ZOOKEEPER-702.
have you looked at that issue?
> 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.