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]
