You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Mike Percy (Code Review)" <ge...@cloudera.org> on 2017/05/27 02:26:29 UTC

[kudu-CR] WIP: consensus: Get rid of ReplicaState class

Mike Percy has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/7007

Change subject: WIP: consensus: Get rid of ReplicaState class
......................................................................

WIP: consensus: Get rid of ReplicaState class

This patch merges the logic in ReplicaState into the RaftConsensus
class. The ReplicaState doesn't really serve a purpose anymore.

There shouldn't be any functional changes in this patch.

TODO: Review RaftConsensus::NonTxRoundReplicationFinished() lock comment

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
6 files changed, 698 insertions(+), 837 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/7007/1
-- 
To view, visit http://gerrit.cloudera.org:8080/7007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 6:

This version of the patch was run on dist-test for 500 runs under stress (8 cpus) on dist-test. Here are the stats:

60d8567 - consensus: Get rid of ReplicaState class
http://dist-test.cloudera.org/job?job_id=mpercy.1496190840.22471

Failed tests:
     13 RaftConsensusITest.TestMemoryRemainsConstantDespiteTwoDeadFollowers
     10 RaftConsensusITest.TestCorruptReplicaMetadata
      6 RaftConsensusITest.TestCommitIndexFarBehindAfterLeaderElection
      1 RaftConsensusITest.TestAddRemoveServer
Crashed tests:
      2 RaftConsensusITest.InsertUniqueKeysWithCrashyNodes
      2 RaftConsensusITest.InsertDuplicateKeysWithCrashyNodes
      1 RaftConsensusITest.TestChurnyElections_WithDuplicateKeys
      1 RaftConsensusITest.TestChurnyElections

This is very similar to master, which was actually worse on multiple fronts but it looks like randomness:

8546583 - consensus: Acquire lock before snoozing FD
http://dist-test.cloudera.org/job?job_id=mpercy.1496194229.20684

$ dist-test-failure-stats.sh
Failed tests:
     48 RaftConsensusITest.TestCommitIndexFarBehindAfterLeaderElection
     18 RaftConsensusITest.TestMemoryRemainsConstantDespiteTwoDeadFollowers
      8 RaftConsensusITest.TestCorruptReplicaMetadata
      1 RaftConsensusITest.TestReplicaBehaviorViaRPC
Crashed tests:
     10 RaftConsensusITest.TestChurnyElections
      2 RaftConsensusITest.InsertDuplicateKeysWithCrashyNodes
      1 RaftConsensusITest.InsertUniqueKeysWithCrashyNodes

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/7007

to look at the new patch set (#6).

Change subject: consensus: Get rid of ReplicaState class
......................................................................

consensus: Get rid of ReplicaState class

Merges the logic in ReplicaState into the RaftConsensus class.
ReplicaState adds complexity but doesn't really serve a purpose anymore.

There are no functional changes in this patch.

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
7 files changed, 700 insertions(+), 876 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/7007/6
-- 
To view, visit http://gerrit.cloudera.org:8080/7007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 5:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/7007/5//COMMIT_MSG
Commit Message:

Line 12: There are no functional changes in this patch.
> can you loop raft_consensus-itest for this and report the results?
Will do


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

Line 1605:     local_peer_uuid = peer_uuid_;
> isn't this not protected by the lock?
Done


PS5, Line 2463: ConsensusStatePB RaftConsensus::ConsensusStateUnlocked() const {
              :   return cmeta_->ToConsensusStatePB();
              : }
              : 
              : RaftPeerPB::Role RaftConsensus::GetActiveRoleUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->active_role();
              : }
              : 
              : bool RaftConsensus::IsConfigChangePendingUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->has_pending_config();
              : }
> some of these could probably just be inlined into callsites now that they'r
Yeah, but I don't want to make any real code changes in this patch, so I'll plan to do that in a follow-up.


Line 2509:   cmeta_->clear_pending_config();
> same
let's do it in a follow-up


PS5, Line 2578: const int64_t RaftConsensus::GetCurrentTermUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->current_term();
              : }
              : 
              : const string& RaftConsensus::GetLeaderUuidUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->leader_uuid();
              : }
              : 
              : const bool RaftConsensus::HasVotedCurrentTermUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->has_voted_for();
              : }
> same with these
same as above


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

Line 65:   enum State {
> does this need to be public?
moving to private


Line 82:   typedef std::unique_lock<simple_spinlock> UniqueLock;
> same
I made this private in a followup patch


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 6:

I should mention that the test I looped 500x was raft_consensus-itest.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/7007

to look at the new patch set (#4).

Change subject: consensus: Get rid of ReplicaState class
......................................................................

consensus: Get rid of ReplicaState class

Merges the logic in ReplicaState into the RaftConsensus class.
ReplicaState adds complexity but doesn't really serve a purpose anymore.

There are no functional changes in this patch.

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
7 files changed, 699 insertions(+), 873 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/7007/4
-- 
To view, visit http://gerrit.cloudera.org:8080/7007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 6: Verified+1

Overriding Spark test cleanup issue:

org.apache.kudu.client.NonRecoverableException: Table startswith already exists with id d53754f87fda4558bbaedc428a40755d

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/7007

to look at the new patch set (#2).

Change subject: consensus: Get rid of ReplicaState class
......................................................................

consensus: Get rid of ReplicaState class

Merges the logic in ReplicaState into the RaftConsensus class.
ReplicaState adds complexity but doesn't really serve a purpose anymore.

There are no functional changes in this patch.

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
7 files changed, 697 insertions(+), 871 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/7007/2
-- 
To view, visit http://gerrit.cloudera.org:8080/7007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Todd Lipcon (Code Review)" <ge...@cloudera.org>.
Todd Lipcon has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 6: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has submitted this change and it was merged.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


consensus: Get rid of ReplicaState class

Merges the logic in ReplicaState into the RaftConsensus class.
ReplicaState adds complexity but doesn't really serve a purpose anymore.

There are no functional changes in this patch.

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Reviewed-on: http://gerrit.cloudera.org:8080/7007
Reviewed-by: Todd Lipcon <to...@apache.org>
Tested-by: Mike Percy <mp...@apache.org>
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
7 files changed, 700 insertions(+), 876 deletions(-)

Approvals:
  Mike Percy: Verified
  Todd Lipcon: Looks good to me, approved



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>

[kudu-CR] WIP: consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has posted comments on this change.

Change subject: WIP: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 1:

Submitted early to get a Jenkins run on this patch.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello David Ribeiro Alves, Alexey Serbin, Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/7007

to look at the new patch set (#3).

Change subject: consensus: Get rid of ReplicaState class
......................................................................

consensus: Get rid of ReplicaState class

Merges the logic in ReplicaState into the RaftConsensus class.
ReplicaState adds complexity but doesn't really serve a purpose anymore.

There are no functional changes in this patch.

Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
---
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
D src/kudu/consensus/raft_consensus_state.cc
D src/kudu/consensus/raft_consensus_state.h
7 files changed, 699 insertions(+), 873 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/7007/3
-- 
To view, visit http://gerrit.cloudera.org:8080/7007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot

[kudu-CR] consensus: Get rid of ReplicaState class

Posted by "Todd Lipcon (Code Review)" <ge...@cloudera.org>.
Todd Lipcon has posted comments on this change.

Change subject: consensus: Get rid of ReplicaState class
......................................................................


Patch Set 5:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/7007/5//COMMIT_MSG
Commit Message:

Line 12: There are no functional changes in this patch.
can you loop raft_consensus-itest for this and report the results?


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

Line 1605:     local_peer_uuid = peer_uuid_;
isn't this not protected by the lock?


PS5, Line 2463: ConsensusStatePB RaftConsensus::ConsensusStateUnlocked() const {
              :   return cmeta_->ToConsensusStatePB();
              : }
              : 
              : RaftPeerPB::Role RaftConsensus::GetActiveRoleUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->active_role();
              : }
              : 
              : bool RaftConsensus::IsConfigChangePendingUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->has_pending_config();
              : }
some of these could probably just be inlined into callsites now that they're so trivial (separate patch is fine)


Line 2509:   cmeta_->clear_pending_config();
same


PS5, Line 2578: const int64_t RaftConsensus::GetCurrentTermUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->current_term();
              : }
              : 
              : const string& RaftConsensus::GetLeaderUuidUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->leader_uuid();
              : }
              : 
              : const bool RaftConsensus::HasVotedCurrentTermUnlocked() const {
              :   DCHECK(lock_.is_locked());
              :   return cmeta_->has_voted_for();
              : }
same with these


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

Line 65:   enum State {
does this need to be public?


Line 82:   typedef std::unique_lock<simple_spinlock> UniqueLock;
same


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie1e62eff37d3f8655100b364939375608063aa80
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes