[ 
https://issues.apache.org/jira/browse/HDDS-7847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Siddhant Sangwan updated HDDS-7847:
-----------------------------------
    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.

  was:
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. 

2. Add a flag to RatisContainerReplicaCount that should be enabled to consider 
unhealthy replica. This will help accomplish point 1. 

3. Some changes to RatisUnderReplicationHandler and RatisOverReplicationHandler.


> Handle Replication of Unhealthy Replicas in RM
> ----------------------------------------------
>
>                 Key: HDDS-7847
>                 URL: https://issues.apache.org/jira/browse/HDDS-7847
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: SCM
>            Reporter: Siddhant Sangwan
>            Assignee: Siddhant Sangwan
>            Priority: Major
>             Fix For: 1.4.0
>
>
> 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to