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

Stephen O'Donnell updated HDDS-2446:
------------------------------------
    Description: 
The ContainerReplica object is used by the SCM to track containers reported by 
the datanodes. The current fields stored in ContainerReplica are:

{code}
final private ContainerID containerID;
final private ContainerReplicaProto.State state;
final private DatanodeDetails datanodeDetails;
final private UUID placeOfBirth;
{code}

Now we have introduced decommission and maintenance mode, the replication 
manager (and potentially other parts of the code) need to know the status of 
the replica in terms of IN_SERVICE, DECOMMISSIONING, DECOMMISSIONED etc to make 
replication decisions.

The DatanodeDetails object does not carry this information, however the 
DatanodeInfo object extends DatanodeDetails and does carry the required 
information.

As DatanodeInfo extends DatanodeDetails, any place which needs a 
DatanodeDetails can accept a DatanodeInfo instead.

In this Jira I propose we change the DatanodeDetails stored in ContainerReplica 
to DatanodeInfo.

  was:
The ContainerReplica object is used by the SCM to track containers reported by 
the datanodes. The current fields stored in ContainerReplica are:

{code}
final private ContainerID containerID;
final private ContainerReplicaProto.State state;
final private DatanodeDetails datanodeDetails;
final private UUID placeOfBirth;
{code}

Now we have introduced decommission and maintenance mode, the replication 
manager (and potentially other parts of the code) need to know the status of 
the replica in terms of IN_SERVICE, DECOMMISSIONING, DECOMMISSIONED etc to make 
replication decisions.

The DatanodeDetails object does not carry this information, however the 
DatanodeInfo object extends DatanodeDetails and does carry the required 
information.

As DatanodeInfo extends DatanodeDetails, any place which needs a 
DatanodeDetails can accept a DatanodeInfo instead.


> ContainerReplica should contain DatanodeInfo rather than DatanodeDetails
> ------------------------------------------------------------------------
>
>                 Key: HDDS-2446
>                 URL: https://issues.apache.org/jira/browse/HDDS-2446
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>          Components: SCM
>    Affects Versions: 0.5.0
>            Reporter: Stephen O'Donnell
>            Assignee: Stephen O'Donnell
>            Priority: Major
>
> The ContainerReplica object is used by the SCM to track containers reported 
> by the datanodes. The current fields stored in ContainerReplica are:
> {code}
> final private ContainerID containerID;
> final private ContainerReplicaProto.State state;
> final private DatanodeDetails datanodeDetails;
> final private UUID placeOfBirth;
> {code}
> Now we have introduced decommission and maintenance mode, the replication 
> manager (and potentially other parts of the code) need to know the status of 
> the replica in terms of IN_SERVICE, DECOMMISSIONING, DECOMMISSIONED etc to 
> make replication decisions.
> The DatanodeDetails object does not carry this information, however the 
> DatanodeInfo object extends DatanodeDetails and does carry the required 
> information.
> As DatanodeInfo extends DatanodeDetails, any place which needs a 
> DatanodeDetails can accept a DatanodeInfo instead.
> In this Jira I propose we change the DatanodeDetails stored in 
> ContainerReplica to DatanodeInfo.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to