You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by GitBox <gi...@apache.org> on 2022/09/23 18:34:23 UTC

[GitHub] [ozone] swamirishi commented on pull request #3683: HDDS-7126. Clean deletedBlock records of deleted containers

swamirishi commented on PR #3683:
URL: https://github.com/apache/ozone/pull/3683#issuecomment-1256542562

   @errose28 @symious 
   DeletedContainers can occur in this the list of deleteBlockTransactionsBlocks. Following is the flow when we try to delete blocks.Blocks
   Blocks from DeleteBlockTransaction are picked up and Blocks are marked for deletion and a DeleteCommandStatus response. So based on this response the SCM tries to commit the transaction DeleteBlockTransaction. The particular record from the table is removed only if min(# Replicas Deleted, Total Number of Replicas)>=Replication Factor(In case of Under Replication this won't be removed).
   When the blocks are deleted InMemoryBlockCounters are reduced in datanode side & these counters are sent along with the heartbeat. Hence on the SCM side LegacyReplicationManager checks if max(# of blocks) in closed container replica=0. If it is 0 the container is deleted.
   Hence as the block deletion & actual block deletion are asynchronous this can cause the record to stay in the deleteBlockTransaction Table even if the containers have been deleted.
   The above patch actually fixes this issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org