sodonnel opened a new pull request, #6514:
URL: https://github.com/apache/ozone/pull/6514

   ## What changes were proposed in this pull request?
   
   
   
   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.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-10681
   
   ## How was this patch tested?
   
   Reproduced the issue using a new unit test, and then fixed the code to make 
the test pass.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to