[ https://issues.apache.org/jira/browse/ZOOKEEPER-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
yangoofy updated ZOOKEEPER-3218: -------------------------------- Summary: zk server reopened,the interval for observer connect to the new leader is too long,then session expired (was: zk集群挂掉重启后,observer重新连上leader的时间间隔可能过长,导致客户端session失效) > zk server reopened,the interval for observer connect to the new leader is too > long,then session expired > ------------------------------------------------------------------------------------------------------- > > 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 > Priority: Major > > 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)