[ https://issues.apache.org/jira/browse/ZOOKEEPER-876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thawan Kooburat resolved ZOOKEEPER-876. --------------------------------------- Resolution: Fixed ZOOKEEPER-1413 address all of the issues mentioned in the description. However, there is one corner case (used by the unit test in this patch) which is not covered by ZOOKEEPER-1413 where the learner tries to sync with leader with no txnlog. > Unnecessary snapshot transfers between new leader and followers > --------------------------------------------------------------- > > Key: ZOOKEEPER-876 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-876 > Project: ZooKeeper > Issue Type: Bug > Affects Versions: 3.4.0 > Reporter: Diogo > Assignee: Diogo > Priority: Minor > Fix For: 3.5.0 > > Attachments: second_case.patch, second_case.txt, > TEST-org.apache.zookeeper.test.FollowerResyncConcurrencyTest.txt, > ZOOKEEPER-876.patch > > > When starting a new leadership, unnecessary snapshot transfers happen between > new leader and followers. This is so because of multiple small bugs. > 1) the comparison of zxids is done based on a new proposal, instead of the > last logged zxid. (LearnerHandler.java ~ 297) > 2) if follower is one zxid behind, the check of the interval of committed > logs excludes the follower. (LearnerHandler.java ~ 277) > 3) the bug reported in ZOOKEEPER-874 (commitLogs are empty after recover). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira