[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912979#action_12912979
 ] 

Diogo commented on ZOOKEEPER-876:
---------------------------------

If follower is one zxid behind, the check of the interval of committed logs 
excludes the follower in LearnerFollower.java:269. For example, if follower has 
snapshot-1000 and no logs, and leader has snapshot-1000, log-1001, and so on. 
The check in that line would force the follower receive again a snapshot. I 
think the condition should consider minCommittedLog - 1 as lower bound in the 
test.

> 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
>            Priority: Minor
>
> 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.

Reply via email to