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)