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/08/31 02:41:17 UTC

[kudu-CR](branch-1.5.x) tablet copy: Allow voting from failed initial tablet copies

Hello Dan Burkert, Alexey Serbin, Kudu Jenkins,

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

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

to review the following change.

Change subject: tablet copy: Allow voting from failed initial tablet copies
......................................................................

tablet copy: Allow voting from failed initial tablet copies

This patch changes the behavior of tablets being copied for the first
time, i.e. to a new tablet server that has never hosted that replica. In
that case, if the tablet copy fails, with this patch that replica will
still be allowed to vote while tombstoned. This improves availability.
Without this patch, if a tablet copy to a new replica fails, that
replica will not be able to vote while tombstoned because its
last-logged OpId field in its superblock will be unset.
This is achieved within tablet copy by setting the initial
tombstoned_last_logged_opid to (1,0).

This patch is a bit of a hack, since it takes advantage of the fact that
it is impossible to have a "real" OpId of 1.0 in the current
implementation (1.1 is the operational minimum) so having a last-logged
OpId of 1.0 represents having never logged any actual ops.

Change-Id: Ibaad2f56797db731a0f701bbd37e3e450bc17b51
Reviewed-on: http://gerrit.cloudera.org:8080/7904
Reviewed-by: Alexey Serbin <as...@cloudera.com>
Tested-by: Kudu Jenkins
---
M src/kudu/integration-tests/tablet_copy-itest.cc
M src/kudu/tserver/tablet_copy_client.cc
2 files changed, 85 insertions(+), 0 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibaad2f56797db731a0f701bbd37e3e450bc17b51
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-1.5.x
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@apache.org>
Gerrit-Reviewer: Kudu Jenkins

[kudu-CR](branch-1.5.x) tablet copy: Allow voting from failed initial tablet copies

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

Change subject: tablet copy: Allow voting from failed initial tablet copies
......................................................................


Patch Set 1: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibaad2f56797db731a0f701bbd37e3e450bc17b51
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-1.5.x
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No

[kudu-CR](branch-1.5.x) tablet copy: Allow voting from failed initial tablet copies

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

Change subject: tablet copy: Allow voting from failed initial tablet copies
......................................................................


tablet copy: Allow voting from failed initial tablet copies

This patch changes the behavior of tablets being copied for the first
time, i.e. to a new tablet server that has never hosted that replica. In
that case, if the tablet copy fails, with this patch that replica will
still be allowed to vote while tombstoned. This improves availability.
Without this patch, if a tablet copy to a new replica fails, that
replica will not be able to vote while tombstoned because its
last-logged OpId field in its superblock will be unset.
This is achieved within tablet copy by setting the initial
tombstoned_last_logged_opid to (1,0).

This patch is a bit of a hack, since it takes advantage of the fact that
it is impossible to have a "real" OpId of 1.0 in the current
implementation (1.1 is the operational minimum) so having a last-logged
OpId of 1.0 represents having never logged any actual ops.

Change-Id: Ibaad2f56797db731a0f701bbd37e3e450bc17b51
Reviewed-on: http://gerrit.cloudera.org:8080/7904
Reviewed-by: Alexey Serbin <as...@cloudera.com>
Tested-by: Kudu Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/7913
Reviewed-by: Dan Burkert <da...@apache.org>
---
M src/kudu/integration-tests/tablet_copy-itest.cc
M src/kudu/tserver/tablet_copy_client.cc
2 files changed, 85 insertions(+), 0 deletions(-)

Approvals:
  Dan Burkert: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibaad2f56797db731a0f701bbd37e3e450bc17b51
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-1.5.x
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@apache.org>
Gerrit-Reviewer: Kudu Jenkins