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)