You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Flavio Junqueira (JIRA)" <ji...@apache.org> on 2010/11/02 22:51:05 UTC
[jira] Updated: (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 ]
Flavio Junqueira updated ZOOKEEPER-876:
---------------------------------------
Status: Open (was: Patch Available)
This is a nice catch, Diogo, and the patch looks good to me. I have a few very quick comments:
# Instead of returning a pair of longs in startForwarding, we could simply return maxZxid and read lastProposed directly from the leader object. Doesn't it work?
# The first comment of startForwarding is not saying much. Could you please expand it?
# Could you please explain in the beginning of the test case what it is supposed to be testing? It is for later remembering what the test does.
Good job!
> 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.3.1
> Reporter: Diogo
> Assignee: Diogo
> Priority: Minor
> Fix For: 3.4.0
>
> Attachments: 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. (LearnerFollower.java:310)
> 2) if follower is one zxid behind, the check of the interval of committed logs excludes the follower. (LearnerFollower.java:269)
> 3) the bug reported in ZOOKEEPER-874 (commitLogs are empty after recover).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.