You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Mike Percy (Code Review)" <ge...@cloudera.org> on 2016/03/03 17:04:22 UTC

[kudu-CR] KUDU-1337. Avoid spurious remote bootstraps on DeleteTablet()

Hello Adar Dembo, Todd Lipcon,

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

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

to review the following change.

Change subject: KUDU-1337. Avoid spurious remote bootstraps on DeleteTablet()
......................................................................

KUDU-1337. Avoid spurious remote bootstraps on DeleteTablet()

When a table is deleted, DeleteTablet() is called with the
TABLET_DATA_DELETED parameter, which means a "permanent" tablet
deletion. If a follower gets such an RPC call, then the leader may
notice that the follower does not have a replica of the tablet before
the leader processes the RPC call sending the DeleteTablet() call to it,
as well.

This changes a bit of logic so that the TSTabletManager caches that a
tablet has been permamently deleted and refuses remote bootstrap
requests for a tablet if that tablet is in the deleted cache. This is a
transient cache and is reset upon process restart.

Change-Id: I852f8ac70e1f6496127598e5e02de5b72711ab2b
---
M src/kudu/integration-tests/remote_bootstrap-itest.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
3 files changed, 80 insertions(+), 0 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I852f8ac70e1f6496127598e5e02de5b72711ab2b
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>