Description
Introducing NodeStateManager will make the lifecycle management of datanodes in SCM easy. NodeStateManager will be responsible for marking the datanodes as stale or dead when heartbeat is not received and it will maintain the current state of all the datanodes in the cluster. NodeStateManager should be the only place we maintain node state information, everyone else should use NodeStateManager to know about the state information.