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

   ## What changes were proposed in this pull request?
   
   If the DN scrubber marks a container as UNHEALTHY, the EC Replication 
Manager logic needs to be able to deal with it. It needs to remove the 
unhealthy one, and create a new copy using EC Reconstruction.
   
   This PR proposes considering UNHEALTHY replicas when checking for under and 
over replication in `ECReplicationCheckHandler`. 
   
   The newly introduced handler `ClosedWithUnhealthyReplicasHandler` will 
handle closed EC containers with unhealthy replicas but no under, over or mis 
replication.
   
   For example, consider a closed EC 3-2 container with the following replicas:
   Replica Index 1: Closed
   Replica Index 2: Closed
   Replica Index 3: Closed, Unhealthy (2 replicas for this index)
   Replica Index 4: Unhealthy
   Replica Index 5: Closed
   
   This is a case of under replication because index 4 is unavailable. Index 3 
is not considered over replicated because its second copy is unhealthy. In the 
current iteration of replication manager,
   `ECReplicationCheckHandler` will find this container is under replicated and 
will add it to the under replication queue. When the container is no longer 
under (or over, mis) replicated, `ClosedWithUnhealthyReplicasHandler` will 
handle it by deleting the unhealthy replicas in a future iteration.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-7101
   
   ## How was this patch tested?
   `TestClosedWithUnhealthyReplicasHandler` and `TestECReplicationCheckHandler`


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