Todd Lipcon has submitted this change and it was merged.

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


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

When a table is deleted, the master sends a DeleteTablet() RPC to every
replica of every tablet with the TABLET_DATA_DELETED parameter, which
indicates a "permanent" tablet deletion. If a follower services
DeleteTablet() before the leader does, it's possible for the leader to
react to the missing replica by asking the follower to remote bootstrap
itself.

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
Reviewed-on: http://gerrit.cloudera.org:8080/2436
Tested-by: Mike Percy <[email protected]>
Reviewed-by: Adar Dembo <[email protected]>
---
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, 84 insertions(+), 2 deletions(-)

Approvals:
  Mike Percy: Verified
  Adar Dembo: Looks good to me, approved



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I852f8ac70e1f6496127598e5e02de5b72711ab2b
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Mike Percy <[email protected]>
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to