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 2016/06/09 05:14:54 UTC

[kudu-CR] Remove the LocalConsensus implementation

Hello David Ribeiro Alves,

I'd like you to do a code review.  Please visit

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

to review the following change.

Change subject: Remove the LocalConsensus implementation
......................................................................

Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also:
* Update ConsensusMetadata validation
* Remove use of RaftPeerPB.local

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
17 files changed, 16 insertions(+), 392 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 5:

Build Started http://104.196.14.100/job/kudu-gerrit/1817/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3:

general wondering. Should we just kill the consensus.h interface and refactor RaftConsensus->Consensus or use RaftConsensus directly? Seems unlikely that we'll ever want another consensus impl, so one less indirection layer and less virtual methods. Any roadblocks on the way to do this?

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 2:

Build Started http://104.196.14.100/job/kudu-gerrit/1804/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1794/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also update ConsensusMetadata validation and remove the use of the
RaftConfigPB.local field (marked as obsolete).

Additionally, convert alter_table-test to use RaftConsensus:

1. Wait for tablet to be elected leader before proceeding.
2. All of the timestamps must be incremented due to the initial no-op
   written to the WAL by the Raft leader.

Finally, update the following tests to specify themselves as voters when
creating a single-node config:

* consensus_meta-test
* raft_consensus_state-test
* tablet_bootstrap-test

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Reviewed-on: http://gerrit.cloudera.org:8080/3350
Tested-by: Mike Percy <mp...@apache.org>
Reviewed-by: David Ribeiro Alves <dr...@apache.org>
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/raft_consensus_state-test.cc
M src/kudu/integration-tests/alter_table-test.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
20 files changed, 31 insertions(+), 406 deletions(-)

Approvals:
  David Ribeiro Alves: Looks good to me, approved
  Mike Percy: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] Remove the LocalConsensus implementation

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Mike Percy has uploaded a new patch set (#4).

Change subject: Remove the LocalConsensus implementation
......................................................................

Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also update ConsensusMetadata validation and remove the use of the
RaftConfigPB.local field (marked as obsolete).

Additionally, convert alter_table-test to use RaftConsensus:

1. Wait for tablet to be elected leader before proceeding.
2. All of the timestamps must be incremented due to the initial no-op
   written to the WAL by the Raft leader.

Finally, update the following tests to specify themselves as voters when
creating a single-node config:

* consensus_meta-test
* raft_consensus_state-test
* tablet_bootstrap-test

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/raft_consensus_state-test.cc
M src/kudu/integration-tests/alter_table-test.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
20 files changed, 31 insertions(+), 403 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 6: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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/3350

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

Change subject: Remove the LocalConsensus implementation
......................................................................

Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also:
* Update ConsensusMetadata validation
* Remove use of RaftPeerPB.local

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
17 files changed, 16 insertions(+), 392 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3:

yeah was not saying that we needed to do it here. Not sure there is much to discuss though, since you already discussed the removal of local consensus and it since there is a single implementation its simple cleaning.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 6: Verified+1

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 5:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3350/5/src/kudu/consensus/metadata.proto
File src/kudu/consensus/metadata.proto:

Line 89:   // Obsolete. This parameter has been retired.
why are we keeping this around?


http://gerrit.cloudera.org:8080/#/c/3350/5/src/kudu/tserver/ts_tablet_manager.cc
File src/kudu/tserver/ts_tablet_manager.cc:

Line 255:     CHECK_EQ(server_->instance_pb().permanent_uuid(), config.peers(0).permanent_uuid());
can we change this to make it generic, i.e. make sure that our uuid is among the uuids of all peers?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: Yes

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3:

> general wondering. Should we just kill the consensus.h interface
 > and refactor RaftConsensus->Consensus or use RaftConsensus
 > directly? Seems unlikely that we'll ever want another consensus
 > impl, so one less indirection layer and less virtual methods. Any
 > roadblocks on the way to do this?

Well, if we do that let's do it in a different CR. I don't think we'll ever have another Consensus impl but still probably something worth discussing on the list

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3: Verified+1

Mas escamadura de org.kududb.client.TestAsyncKuduClient.testDisconnect()

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 6:

Build Started http://104.196.14.100/job/kudu-gerrit/1847/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3:

OK, still let's do it a bit later.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 4:

Build Started http://104.196.14.100/job/kudu-gerrit/1814/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: No

[kudu-CR] Remove the LocalConsensus implementation

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/3350

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

Change subject: Remove the LocalConsensus implementation
......................................................................

Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also update ConsensusMetadata validation and remove the use of the
RaftConfigPB.local field (marked as obsolete).

Additionally, convert alter_table-test to use RaftConsensus:

1. Wait for tablet to be elected leader before proceeding.
2. All of the timestamps must be incremented due to the initial no-op
   written to the WAL by the Raft leader.

Finally, update the following tests to specify themselves as voters when
creating a single-node config:

* consensus_meta-test
* raft_consensus_state-test
* tablet_bootstrap-test

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/raft_consensus_state-test.cc
M src/kudu/integration-tests/alter_table-test.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
20 files changed, 31 insertions(+), 404 deletions(-)


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

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

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 5:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3350/5/src/kudu/consensus/metadata.proto
File src/kudu/consensus/metadata.proto:

Line 89:   // Obsolete. This parameter has been retired.
> why are we keeping this around?
We need to provide some way to specify that field #2 should not be reused. Since our version of protobuf apparently doesn't support the "reserved" keyword, and comments aren't enforced by the compiler, this seems to be the best option.


http://gerrit.cloudera.org:8080/#/c/3350/5/src/kudu/tserver/ts_tablet_manager.cc
File src/kudu/tserver/ts_tablet_manager.cc:

Line 255:     CHECK_EQ(server_->instance_pb().permanent_uuid(), config.peers(0).permanent_uuid());
> can we change this to make it generic, i.e. make sure that our uuid is amon
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-HasComments: Yes

[kudu-CR] Remove the LocalConsensus implementation

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/3350

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

Change subject: Remove the LocalConsensus implementation
......................................................................

Remove the LocalConsensus implementation

This implementation was intended as scaffolding while we built a true
consensus implementation. Now that we have a full implementation of Raft
consensus, it is no longer needed.

Also update ConsensusMetadata validation and remove the use of the
RaftConfigPB.local field (marked as obsolete).

Additionally, convert alter_table-test to use RaftConsensus:

1. Wait for tablet to be elected leader before proceeding.
2. All of the timestamps must be incremented due to the initial no-op
   written to the WAL by the Raft leader.

Finally, update the following tests to specify themselves as voters when
creating a single-node config:

* consensus_meta-test
* raft_consensus_state-test
* tablet_bootstrap-test

Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
---
M docs/design-docs/consensus.md
M src/kudu/consensus/CMakeLists.txt
M src/kudu/consensus/consensus-test-util.h
M src/kudu/consensus/consensus_meta-test.cc
D src/kudu/consensus/local_consensus.cc
D src/kudu/consensus/local_consensus.h
M src/kudu/consensus/log.h
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/raft_consensus_state-test.cc
M src/kudu/integration-tests/alter_table-test.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_peer-test.cc
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/remote_bootstrap_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
20 files changed, 31 insertions(+), 406 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] Remove the LocalConsensus implementation

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

Change subject: Remove the LocalConsensus implementation
......................................................................


Patch Set 3:

Build Started http://104.196.14.100/job/kudu-gerrit/1808/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I24e671dc732a1cdf4c453dfec61cefa0c573252c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No