[
https://issues.apache.org/jira/browse/HDDS-1982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16922565#comment-16922565
]
Stephen O'Donnell commented on HDDS-1982:
-
I have pushed some changes to the PR which could use a review at this stage to
ensure I am on the correct track.
I have introduced a new object NodeStatus that is immutable and contains two
ENums - NodeOperationalState (IN_SERVICE, DECOMMISSIONING etc) and NodeState
(which we may want to rename to NodeHealth or something) (HEALTHY, STALE, DEAD).
I have then changed NodeStateMap, NodeStateManager and SCMNodeManager to use
NodeStatus anywhere it previously used NodeState. However I stopped the changes
at the boundary of SCMNodeManager, where it will return the original NodeState
anywhere it currently does. My plan is to get this working well inside the
SCMNodeManager boundary before attempting to move the states into other classes
which interface with this.
I have also added a couple of test classes for NodeStateMap and
NodeStateManager to help iterate on the changes without breaking things.
Please have a look and let me know if you think this is a good approach before
I move much further.
> Extend SCMNodeManager to support decommission and maintenance states
>
>
> Key: HDDS-1982
> URL: https://issues.apache.org/jira/browse/HDDS-1982
> Project: Hadoop Distributed Data Store
> Issue Type: Sub-task
> Components: SCM
>Reporter: Stephen O'Donnell
>Assignee: Stephen O'Donnell
>Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Currently, within SCM a node can have the following states:
> HEALTHY
> STALE
> DEAD
> DECOMMISSIONING
> DECOMMISSIONED
> The last 2 are not currently used.
> In order to support decommissioning and maintenance mode, we need to extend
> the set of states a node can have to include decommission and maintenance
> states.
> It is also important to note that a node decommissioning or entering
> maintenance can also be HEALTHY, STALE or go DEAD.
> Therefore in this Jira I propose we should model a node state with two
> different sets of values. The first, is effectively the liveliness of the
> node, with the following states. This is largely what is in place now:
> HEALTHY
> STALE
> DEAD
> The second is the node operational state:
> IN_SERVICE
> DECOMMISSIONING
> DECOMMISSIONED
> ENTERING_MAINTENANCE
> IN_MAINTENANCE
> That means the overall total number of states for a node is the cross-product
> of the two above lists, however it probably makes sense to keep the two
> states seperate internally.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
-
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org