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

   ## What changes were proposed in this pull request?
   
   Depends on #11403 (HDDS-16628), which is the first commit here; only the 
last commit belongs to this PR.
   
   In a 2-rack cluster where a whole rack is being decommissioned, containers 
stay under-replicated. The new replica has to go to a rack other than the 
existing replicas', the only other rack has no writable node, and placement 
fails.
   
   - `SCMContainerPlacementRackAware`: when the other racks also run out of 
retries and fallback is enabled, fall back to any rack, with new retries.
   - `MisReplicationHandler`: skip targets that do not reduce the 
mis-replication. Otherwise a fallback target on a rack that already has a 
replica makes the container over-replicated, the extra replica is deleted, and 
the container is mis-replicated again, over and over.
   
   Found with the SCM simulation (HDDS-16627).
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-16629
   
   ## How was this patch tested?
   
   New unit tests in `TestSCMContainerPlacementRackAware` and 
`TestRatisMisReplicationHandler`. With both changes, 100 seeds of the SCM 
simulation from #11349, over 2, 3, 4 and 12 racks, pass; without them, 6 of 
those seeds leave a decommission stuck.
   


-- 
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