David Ribeiro Alves has posted comments on this change.

Change subject: KUDU-871. Support tombstoned voting
......................................................................


Patch Set 6:

(7 comments)

leaving for luch, more comments forthcoming

http://gerrit.cloudera.org:8080/#/c/6960/6/src/kudu/consensus/raft_consensus.cc
File src/kudu/consensus/raft_consensus.cc:

PS6, Line 1519:     LOG_WITH_PREFIX_UNLOCKED(INFO) << "voting while tombstoned 
based on last-logged opid "
              :                                    << local_last_logged_opid;
move this to the else block above and thus avoid the extra if?


PS6, Line 2538: const optional<OpId>& tombstone_last_logged_opid
whats the point of passing an opid here if you're only checking for its 
presence?
also you mention on LOC 1508 "in which case we are guaranteed that
  // 'tombstone_last_logged_opid' is set by CheckSafeToVoteUnlocked()"

but that is not happening or am I missing something?


http://gerrit.cloudera.org:8080/#/c/6960/6/src/kudu/consensus/raft_consensus.h
File src/kudu/consensus/raft_consensus.h:

PS6, Line 124: static Status Create(ConsensusOptions options,
             :                        RaftPeerPB local_peer_pb,
             :                        scoped_refptr<ConsensusMetadataManager> 
cmeta_manager,
             :                        ThreadPool* raft_pool,
             :                        std::shared_ptr<RaftConsensus>* 
consensus_out);
didn't you delete this a while back?


PS6, Line 271: term
nit: current_term() would be more explicit


PS6, Line 292: Tombstoned voting
not super clear what "tombstoned voting" is maybe explain it somewhere?


PS6, Line 354: RaftConsensus has been stopped.
maybe explain what this means in the context of the other states? something 
like: "RaftConsensus has been stopped. No more transactions or commits are 
accepted but will still reply to election requests if tombstoned."


http://gerrit.cloudera.org:8080/#/c/6960/6/src/kudu/integration-tests/tombstoned_voting-itest.cc
File src/kudu/integration-tests/tombstoned_voting-itest.cc:

PS6, Line 195:   // Ask TS1 for a vote that should be denied (old last-logged 
opid).
             :   s = itest::RequestVote(ts1_ets, tablet_id, "B", current_term, 
old_opid,
             :                          /*ignore_live_leader=*/ true, 
/*is_pre_election=*/ false, kTimeout);
can you add a test for same candidate same term but with an opid that is 
greater that the tombstoned replica's op_id?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia19d75b185299443b27f41e468bbae20065e7570
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>
Gerrit-HasComments: Yes

Reply via email to