[
https://issues.apache.org/jira/browse/HADOOP-9714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xi Fang updated HADOOP-9714:
----------------------------
Description:
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.
was:
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.
> 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
>
> Attachments: HADOOP-9714.1.patch
>
>
> 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