[
https://issues.apache.org/jira/browse/ZOOKEEPER-1817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13829741#comment-13829741
]
Germán Blanco commented on ZOOKEEPER-1817:
------------------------------------------
This works very well and it looks excellent overall.
However, I am starting to have doubts about this comparison in Vote.java:
{noformat}
+ if (version == other.version) {
+ return (id == other.id
+ && peerEpoch == other.peerEpoch);
+ } else {
+ return id == other.id;
+ }
{noformat}
We know 3.4.5 peerEpoch has a different value than in the rest. But the
difference is there only for 3.4.5. I think this comparison should be a bit
different, and more in line with the use of backwards compatibility vote in
FastLeaderElection.java ...
{noformat}
ToSend notmsg;
if(n.version > 0x0) {
notmsg = new ToSend(
{noformat}
that would be "if one of the versions is 0x0 and the other is not, then don't
use peerEpoch. Otherwise use it" ...
{noformat}
+ if ((version > 0x0) ^ (other.version > 0x0)) {
+ return id == other.id;
+ } else {
+ return (id == other.id
+ && peerEpoch == other.peerEpoch);
+ }
{noformat}
> Fix don't care for b3.4
> -----------------------
>
> Key: ZOOKEEPER-1817
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1817
> Project: ZooKeeper
> Issue Type: Sub-task
> Reporter: Flavio Junqueira
> Assignee: Flavio Junqueira
> Priority: Blocker
> Fix For: 3.4.6
>
> Attachments: ZOOKEEPER-1817.patch, ZOOKEEPER-1817.patch,
> ZOOKEEPER-1817.patch, ZOOKEEPER-1817.patch, ZOOKEEPER-1817.patch,
> ZOOKEEPER-1817.patch, ZOOKEEPER-1817.patch, ZOOKEEPER-1817.patch,
> ZOOKEEPER-1817.patch, logs.tar.gz, logs2.tar.gz
>
>
> See umbrella jira.
--
This message was sent by Atlassian JIRA
(v6.1#6144)