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

   ## What changes were proposed in this pull request?
   
   After the change to ensure Quasi Closed replicas only move to CLOSED when 
all 3 origin are present, some new edge cases appeared where some replicas do 
not get full replication.
   
   After some discussion we decided on the following for Quasi Closed Stuck 
containers:
   
   1. If there is only 1 origin available, create 3 copies of it.
   
   2. If there are 2 or more origins, maintain 2 copies of each origin.
   
   In the worse case, which is:
   
   Origin: 1, bcsid:10, State: Quasi_Closed
   Origin: 2, bcsid:10, State: Quasi_Closed
   Origin: 3, bcsid:11, State: Unhealthy
   
   This cannot move to closed as the highest BCSID is unhealthy, so 6 replicas 
will be maintained in the system - 2 from each origin.
   
   This PR solves this issue by introducing a new replication check handler for 
QC Stuck containers which runs before the existing Ratis Under Replicated 
Handler.
   
   When under replication is identified a new 
QuasiClosedStuckUnderReplicationHandler is introduced to process it separately 
from the existing under replication flow.
   
   Implementing in this way, isolates the special handling into their own code 
units, and avoids making changing to existing handles which could result in 
unexpected side effects in complex areas.
   
   Note a followup PR will be required for Over Replication handling.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-12483
   
   ## How was this patch tested?
   
   New unit and RM scenario tests added / modified.
   


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