Stephen O'Donnell created HDDS-10681:
----------------------------------------

             Summary: EC Reconstruction does not issue put block to data index 
if it is unused
                 Key: HDDS-10681
                 URL: https://issues.apache.org/jira/browse/HDDS-10681
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Stephen O'Donnell
            Assignee: Stephen O'Donnell


Given a small EC block:

* <= 2MB for EC-3-2
* <= 5MB for EC-6-3
* <= 9MB for EC-10-4

So that it is less than a full stripe and does not use all the datanodes.

When reconstruction happens to replace a replica which is not used in the 
stripe, the unused containers are not issued with the put block to store the 
details of the empty block within the container. Note that the container 
replica will likely have other blocks, so it will still get reconstructed, but 
it will not be given a reference to this empty block.

All containers are checked for the presence of all blocks during 
reconstruction. If any of the containers do not have a reference to the block, 
it is considered an orphan block / abandoned stripe and will not be 
reconstructed.

Therefore if one replica has no entry for the block, then it is used it another 
reconstruction for another replica later, that block will not get reconstructed 
into a second replica. Over time this can result in the reference getting 
removed from all copies.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to