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