You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Thawan Kooburat (JIRA)" <ji...@apache.org> on 2013/07/01 19:30:20 UTC
[jira] [Resolved] (ZOOKEEPER-876) Unnecessary snapshot transfers
between new leader and followers
[ 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