You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Daryn Sharp (JIRA)" <ji...@apache.org> on 2015/10/22 19:58:27 UTC
[jira] [Created] (HDFS-9287) Block placement completely fails if
too many nodes are decommissioning
Daryn Sharp created HDFS-9287:
---------------------------------
Summary: Block placement completely fails if too many nodes are decommissioning
Key: HDFS-9287
URL: https://issues.apache.org/jira/browse/HDFS-9287
Project: Hadoop HDFS
Issue Type: Bug
Components: namenode
Affects Versions: 2.6.0
Reporter: Daryn Sharp
Priority: Critical
The DatanodeManager coordinates with the HeartbeatManager to update HeartbeatManager.Stats to track capacity and load. This is crucial for block placement to consider space and load. It's completely broken for decomm nodes.
The heartbeat manager substracts the prior values before it adds new values. During registration of a decomm node, it substracts before seeding the initial values. This decrements nodesInService, flips state to decomm, add will not increment nodesInService (correct). There are other math bugs (double adding) that accidentally work due to 0 values.
The result is every decomm node decrements the node count used for block placement. When enough nodes are decomm, the replication monitor will silently stop working. No logging. It searches all nodes and just gives up. Eventually, all block allocation will also completely fail. No files can be created. No jobs can be submitted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)