You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Attila Doroszlai (Jira)" <ji...@apache.org> on 2022/07/01 17:39:00 UTC

[jira] [Updated] (HDDS-6970) EC: Ensure DatanodeAdminMonitor can handle EC containers during decommission

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

Attila Doroszlai updated HDDS-6970:
-----------------------------------
    Fix Version/s: 1.3.0
       Resolution: Implemented
           Status: Resolved  (was: Patch Available)

> 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
>             Fix For: 1.3.0
>
>
> 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: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org