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

ASF GitHub Bot updated HDDS-6970:
---------------------------------
    Labels: pull-request-available  (was: )

> EC: Ensure DatanodeAdminMonitor can handle EC containers during decommission
> ----------------------------------------------------------------------------
>
>                 Key: HDDS-6970
>                 URL: https://issues.apache.org/jira/browse/HDDS-6970
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Stephen O'Donnell
>            Assignee: Attila Doroszlai
>            Priority: Major
>              Labels: pull-request-available
>
> In DatanodeAdminMonitorImpl.checkContainersReplicatedOnNode(), there is a 
> call to get the ContainerReplicaCount for each container on the node:
> {code}
>  ContainerReplicaCount replicaSet =
>             replicationManager.getContainerReplicaCount(cid);
>         if (replicaSet.isSufficientlyReplicated()) {
>           sufficientlyReplicated++;
>         } else {
>           if (LOG.isDebugEnabled()) {
> {code}
> From here, it calls isSufficientlyReplicated to decide if the replica has 
> enough copies elsewhere to let this node continue decommissioning.
> With the introduction of EC, we also have the ECContainerReplicaCounts 
> object, but the class is not related to ContainerReplicaCount.
> We need the ReplicationManager to create a ContainerReplicaCount or 
> ECContainerReplica count object depending on the container type.
> We probably also need to have an interface that 
> replicationManager.getContainerReplicaCount returns providing the 
> isSufficientlyReplicated and getReplicas() methods.
> Note that right now, ECContainerReplicaCount.isSufficientlyReplicated takes a 
> boolean flag, while ContainerReplicaCount.isSufficientlyReplicated does not. 
> Rather than attempting to change the latter, perhaps we need to overload 
> isSufficientlyReplicated in ECContainerReplicaCount to have no parameter and 
> always pass false into the other method, which is what the decommission calls 
> need.



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