helifu has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/12308


Change subject: KUDU2665: LBM deletes the valid live block
......................................................................

KUDU2665: LBM deletes the valid live block

Due to the nature of WritableBlock finalization/closing, it's
possible for a container with outstanding WritableBlock instances
to briefly appear as dead.
That's because:
1) The container's next block offset (responsible for determining
   fullness) is incrmented when the WritableBlock is finalized, but
2) The container's live block count is incremented when the
   WritableBlock is closed.
Thus, if the "last" block in a container is deleted after a
WritableBlock was finalized but before it has been closed, the
container will be erroneously marked as dead. When the container's
last referrent disappears, it will be deleted from disk despite
having live blocks in it.

Change-Id: I894f32b1c164ae7770c92171850edd167dfaf8ad
---
M src/kudu/fs/log_block_manager.cc
1 file changed, 21 insertions(+), 5 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I894f32b1c164ae7770c92171850edd167dfaf8ad
Gerrit-Change-Number: 12308
Gerrit-PatchSet: 1
Gerrit-Owner: helifu <hzhel...@corp.netease.com>

Reply via email to