Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
Note: Unhealthy refers to ContainerReplicaProto#State UNHEALTHY.
Unhealthy ratis replicas are currently not considered when checking for replication in RatisReplicationCheckHandler. Since they are somehow corrupted, as long as we have healthy replicas, unhealthy replicas are not touched. We need new functionality to delete excess unhealthy replicas (with special considerations for QUASI_CLOSED containers) if we have sufficient replication otherwise. If only unhealthy replicas are remaining, we need to replicate them like healthy replicas.
This jira proposes:
1. Having a new handler - RatisUnhealthyReplicationCheckHandler - in the chain of handlers. This will check for replication of all replicas, including unhealthy. We should reach here only if there is perfect replication otherwise or only unhealthy replicas are remaining.
2. Add a flag to RatisContainerReplicaCount that should be enabled to consider unhealthy replicas. This will help accomplish point 1.
3. Some changes to RatisUnderReplicationHandler and RatisOverReplicationHandler.
Attachments
Issue Links
- is a child of
-
HDDS-7785 Improve Handling of Unhealthy Container Replicas in the new RM
- Resolved
- links to