You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2019/07/16 06:42:39 UTC

[kudu-CR] KUDU-2635: ignore failures to delete orphaned blocks

Hello Alexey Serbin, Kudu Jenkins, helifu, Adar Dembo, 

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

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

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

Change subject: KUDU-2635: ignore failures to delete orphaned blocks
......................................................................

KUDU-2635: ignore failures to delete orphaned blocks

It was previously possible to leave some orphaned blocks in the
in-memory orphaned blocks list by failing to delete some blocks due to a
disk failure. Upon deleting a tablet with such orphaned blocks, Kudu
could crash, as this breaks the assumption in the TabletMetadata that
once we've made the call to delete orphaned blocks, then the orphaned
blocks list will be empty.

This patch addresses this by removing the blocks from the orphaned
blocks list regardless of whether the blocks were deleted at the block
manager level. At worst, this leaves us with untracked blocks, but it's
better than crashing due to a bogus assumption.

A test is added that passed 1/100 times when run on dist-test in debug
mode with stress. With the patch, it passes 100/100 times.

Change-Id: Ice78f41d6d367d42ad31c2127ceb5fc57a244e34
---
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tserver/tablet_server-test.cc
2 files changed, 30 insertions(+), 2 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ice78f41d6d367d42ad31c2127ceb5fc57a244e34
Gerrit-Change-Number: 13858
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu <hz...@corp.netease.com>