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