Mike Percy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/8679 )

Change subject: KUDU-1097: more robust criteria for replica eviction
......................................................................


Patch Set 10: Code-Review+1

(4 comments)

just a couple last nits, this is basically ready to go

http://gerrit.cloudera.org:8080/#/c/8679/10/src/kudu/consensus/quorum_util.cc
File src/kudu/consensus/quorum_util.cc:

http://gerrit.cloudera.org:8080/#/c/8679/10/src/kudu/consensus/quorum_util.cc@622
PS10, Line 622: num_non_voters_total > 0 &&
can't we remove this now that it was moved to line 610?


http://gerrit.cloudera.org:8080/#/c/8679/10/src/kudu/consensus/quorum_util.cc@654
PS10, Line 654: It's a special case
nit: In the special case


http://gerrit.cloudera.org:8080/#/c/8679/8/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc
File src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc:

http://gerrit.cloudera.org:8080/#/c/8679/8/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc@1521
PS8, Line 1521:     bool has_leader = false;
              :     TabletLocationsPB tablet_locations;
              :     
ASSERT_OK(WaitForReplicasReportedToMaster(cluster_->master_proxy(),
              :                                               kReplicasNum,
              :                                               tablet_id_,
              :                                               kTimeout,
              :                                               WAIT_FOR_LEADER,
              :                                               ANY_REPLICA,
> This method does not retry if master replies with something like 'catalog m
I don't think that was intentional but Rev 10 seems fine to me.


http://gerrit.cloudera.org:8080/#/c/8679/8/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc@1537
PS8, Line 1537:     ASSERT_FALSE(IsRaftConfigMember(follower_uuid, 
cstate.committed_config()))
              :         << pb_util::SecureDebugString(cstate.committed_config())
              :         << "fell behind WAL replica UUID: " << follower_uuid;
              :     // The first non-voter replica failed during the tablet 
copy phase
              :     // should not be present.
              :     ASSERT_FALSE(IsRaftConfigMember(ts0->uuid(), 
cstate.committed_config()))
              :         << pb_util::SecureDebugString(cstate.committed_config())
              :         << "failed tablet copy replica UUID: " << ts0->uuid();
              :     // The tablet copy on the restarted server should succeed 
and this replica
              :     // should replace the original failed replica.
              :     ASSERT_TRUE(IsRaftConfigMember(ts1->uuid(), 
cstate.committed_config()))
              :         << pb_util::SecureDebugString(cstate.committed_config())
              :         << "new replacement replica UUID: " << ts1->uuid();
              :   });
              : }
> I think it's enough to have just one outer ASSERT_EVENTUALLY.
+1



--
To view, visit http://gerrit.cloudera.org:8080/8679
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2062c2963fface43062b3154bf5ffa61b4fa684f
Gerrit-Change-Number: 8679
Gerrit-PatchSet: 10
Gerrit-Owner: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Tue, 12 Dec 2017 04:36:27 +0000
Gerrit-HasComments: Yes

Reply via email to