Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
3.4.9, 3.5.2, 3.4.11
Description
I came across one issue related to Client side packet response timeout In my cluster many packet drops happened for some time.
One observation is the zookeeper client got hanged. As per the thread dump it is waiting for the response/ACK for the operation performed (synchronous API used here).
I am using zookeeper.serverCnxnFactory=org.apache.zookeeper.server.NIOServerCnxnFactory
Since only few packets missed there is no DISCONNECTED event occurred.
Need add a "response time out" for the operations or packets.
Comments from rakeshr
My observation about the problem:-
- Can use tools like 'Wireshark' to simulate the artificial packet loss.
- Assume there is only one packet in the 'outgoingQueue' and unfortunately the server response packet lost. Now, client will enter into infinite waiting. https://github.com/apache/zookeeper/blob/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java#L1515
- Probably we can discuss more about this problem and possible solutions(add packet ACK timeout or another better approach) in the jira.
Attachments
Attachments
Issue Links
- is related to
-
ZOOKEEPER-4749 Request timeout is not respected for asynchronous api
- Open
- links to