[ 
https://issues.apache.org/jira/browse/HDDS-2592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16978787#comment-16978787
 ] 

Stephen O'Donnell commented on HDDS-2592:
-----------------------------------------

PR https://github.com/apache/hadoop-ozone/pull/160 has a proof of concept of 
this change.

> Add Datanode command to allow the datanode to persist its admin state 
> ----------------------------------------------------------------------
>
>                 Key: HDDS-2592
>                 URL: https://issues.apache.org/jira/browse/HDDS-2592
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>          Components: Ozone Datanode, SCM
>    Affects Versions: 0.5.0
>            Reporter: Stephen O'Donnell
>            Priority: Major
>
> When a node is decommissioned or put into maintenance, SCM will receive the 
> command to kick off the workflow. As part of that workflow, it should issue a 
> further command to the datanode to set the datanode as either:
> maintenance
> decommissioned
> in_service (this is the default state)
> This state should be persisted in the datanode yaml file so it survives 
> reboots.
> Upon receiving this command, the datanode will return a new state for all its 
> containers in the next container report.
> For all closed containers it should return a state of DECOMMISSIONED or 
> MAINTENANCE accordingly, while non-closed container should return their 
> original value until they are closed. That way SCM can monitor for unclosed 
> containers as part of the decommission flow.
> I don't believe there is any need for the datanode to have multiple states 
> for each admin state (eg decommissioning + decommissioned / 
> entering_maintenance + in_maintenance) as those are only really relevant to 
> SCM. Instead it should be enough to set the datanode state once and assume 
> SCM will cause it to eventually reach that state. 
> These states will be added via HDDS-2459 to progress the changes in the 
> Replication Manager on the SCM side:
> {code}
> ContainerReplicaProto.State.DECOMMISSIONED
> ContainerReplicaProto.State.MAINTENANCE
> {code}



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