yangoofy created ZOOKEEPER-3218:
-----------------------------------

             Summary: zk集群挂掉重启后,observer重新连上leader的时间间隔可能过长,导致客户端session失效
                 Key: ZOOKEEPER-3218
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3218
             Project: ZooKeeper
          Issue Type: Bug
         Environment: win7 32bits

zookeeper 3.4.6、3.4.13
            Reporter: yangoofy


two participants、one observer,zkclient connect to observer。

Then,close the two participants,the zookeeper server cloesed

Ten seconds later,reopen the two participants,and leader selected

----------------------------------------------------------------------------

But the observer can't connect to the new leader immediately。Because in 
lookForLeader, the observer use blockingQueue(recvqueue)  to offer/poll 
notifications,when the recvqueue is empty,poll from recvqueue will be 
blocked,and timeout is 200ms,400ms,800ms....60s。

For example,09:59:59 observer poll notification,recvqueue was empty and timeout 
was 60s;10:00:00 two participants reopened and reselected;10:00:59 observer 
polled notification,connected to the new leader

But the maxSessionTimeout default to 40s。The session expired

-----------------------------------------------------------------------------

Please improve it:observer should connect to the new leader as soon as possible



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to