[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kezhu Wang resolved ZOOKEEPER-2188.
-----------------------------------
    Resolution: Duplicate

> client connection hung up because of  dead loop
> -----------------------------------------------
>
>                 Key: ZOOKEEPER-2188
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2188
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.5.0
>            Reporter: sunhaitao
>            Priority: Major
>
> There is something wrong with the client code ClientCnxn.java, it will keep 
> trying to connect to server in a dead loop.
> This is my test step, shut down zookeeper cluster, exectue zkCli.sh script to 
> connect to zookeeper cluster, it will keep trying to connect to zookeeper 
> server without stop.
> public void run() {
>             clientCnxnSocket.introduce(this, sessionId, outgoingQueue);
>             clientCnxnSocket.updateNow();
>             clientCnxnSocket.updateLastSendAndHeard();
>             int to;
>             long lastPingRwServer = Time.currentElapsedTime();
>             final int MAX_SEND_PING_INTERVAL = 10000; //10 seconds
>             while (state.isAlive()) {
>                 try {
>                     if (!clientCnxnSocket.isConnected()) {
>                         // don't re-establish connection if we are closing
>                         if (closing) {
>                             break;
>                         }
>                         startConnect();
>                         clientCnxnSocket.updateLastSendAndHeard();
>                     }
> public boolean isAlive() {
>             return this != CLOSED && this != AUTH_FAILED;
>         }
> because at the beginning it is CONNECTING so isAlive always returns true, 
> which leads to dead loop.
> we should add some retry limit to stop this



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to