Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/12075 )

Change subject: KUDU-2636: LBM supports deleting dead and full containers
......................................................................


Patch Set 6:

> There are more than one LogBlock which will reference the same 
> LogBlockContainer. If these LogBlocks are deleted in different 
> LogBlockDeletionTransaction concurrently, then the LogBlockContainer will be 
> deleted repeatedly.
> I am trying to fix it.

I see, this has to do with the non-atomicity of decrementing 
container->live_blocks_, then later fetching container->live_blocks() to 
compare it with 0. Yeah that is frustrating.

One idea is to modify BlockDeleted() to return whether or not the container 
become dead when this block was deleted, and then plumb that information up the 
various delete paths to use it within CommitDeletedBlocks() to determine 
whether the container should be deleted (rather than looking at live_blocks()).


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7d3672ae3c3dd9acd489120d653c44a641537f10
Gerrit-Change-Number: 12075
Gerrit-PatchSet: 6
Gerrit-Owner: helifu <hzhel...@corp.netease.com>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu <hzhel...@corp.netease.com>
Gerrit-Comment-Date: Wed, 19 Dec 2018 19:20:18 +0000
Gerrit-HasComments: No

Reply via email to