Ming Ma created HDFS-7725: ----------------------------- Summary: Incorrect "nodes in service" metrics caused all writes to fail Key: HDFS-7725 URL: https://issues.apache.org/jira/browse/HDFS-7725 Project: Hadoop HDFS Issue Type: Bug Reporter: Ming Ma
One of our clusters sometimes couldn't allocate blocks from any DNs. BlockPlacementPolicyDefault complains with the following messages for all DNs. {noformat} the node is too busy (load:x > y) {noformat} It turns out the {{HeartbeatManager}}'s {{nodesInService}} was computed incorrectly when admins decomm or recomm dead nodes. Here are two scenarios. * Decomm dead nodes. It turns out HDFS-7374 has fixed it; not sure if it is intentional. Here is the sequence of event without HDFS-7374. ** Cluster has one live node. nodesInService == 1 ** The node becomes dead. nodesInService == 0 ** Decomm the node. nodesInService == -1 * However, HDFS-7374 introduces another inconsistency when recomm is involved. ** Cluster has one live node. nodesInService == 1 ** The node becomes dead. nodesInService == 0 ** Decomm the node. nodesInService == 0 ** Recomm the node. nodesInService == 1 -- This message was sent by Atlassian JIRA (v6.3.4#6332)