You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "yangoofy (JIRA)" <ji...@apache.org> on 2018/12/17 20:56:00 UTC

[jira] [Created] (ZOOKEEPER-3218) zk集群挂掉重启后,observer重新连上leader的时间间隔可能过长,导致客户端session失效

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)