[
https://issues.apache.org/jira/browse/HDFS-7725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14976523#comment-14976523
]
Kuhu Shukla commented on HDFS-7725:
-----------------------------------
This issue manifested on 2.6 as prior to HDFS-7374 ( with count going to -1)
and in 2.7 partially during recommissioning.
The unit test from this patch (testXceiverCount) fails on 2.7 during the
recommission assert :
{code}
//Verify recommission of dead node won't impact nodesInService metrics.
dnm.stopDecommission(dnd);
assertEquals(expectedInServiceNodes,getNumDNInService(namesystem));
{code}
It would be nice to have this patch ported to 2.7. [~mingma], any
suggestions/comments would be helpful.
> 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
> Assignee: Ming Ma
> Labels: 2.7.2-candidate
> Fix For: 2.8.0
>
> Attachments: HDFS-7725-2.patch, HDFS-7725-3.patch, HDFS-7725.patch
>
>
> 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. cc / [~zhz], [~andrew.wang], [~atm] 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)