Xi Fang created HADOOP-9714: ------------------------------- Summary: Branch-1-win TestReplicationPolicy failed caused by stale data node handling Key: HADOOP-9714 URL: https://issues.apache.org/jira/browse/HADOOP-9714 Project: Hadoop Common Issue Type: Bug Affects Versions: 1-win Reporter: Xi Fang Assignee: Xi Fang Fix For: 1-win
Condor-Branch-1 TestReplicationPolicy failed on * testChooseTargetWithMoreThanAvailableNodes() * testChooseTargetWithStaleNodes() * testChooseTargetWithHalfStaleNodes() The root of cause of testChooseTargetWithMoreThanAvailableNodes failing is the following: In BlockPlacementPolicyDefault#chooseTarget() {code} chooseRandom(numOfReplicas, NodeBase.ROOT, excludedNodes, blocksize, maxNodesPerRack, results); } catch (NotEnoughReplicasException e) { FSNamesystem.LOG.warn("Not able to place enough replicas, still in need of " + numOfReplicas); {code} However, numOfReplicas is passed into chooseRandom() as int (primitive type in java) by value. The updating operation for numOfReplicas in chooseRandom() will not change the value in chooseTarget(). The root cause for testChooseTargetWithStaleNodes() and testChooseTargetWithHalfStaleNodes() is the current BlockPlacementPolicyDefault#chooseTarget() doesn't check if a node is stale. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira