[
https://issues.apache.org/jira/browse/HADOOP-2767?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Butler updated HADOOP-2767:
--------------------------------
Attachment: NetworkTopologyTest.java
This amended test case demonstrates that NetworkTopology.chooseRandom(~node)
will not return the last node on the rack.
This is called by
org.apache.hadoop.dfs.ReplicationTargetChooser#chooseRandom(int, String,
List<Node>),
which in turn is called by
chooseRandom(int, String, List<Node>, long, int, List<DatanodeDescriptor>
chooseRandom(String, List<Node>, long, int, List<DatanodeDescriptor>
which are called by
chooseRemoteRack(int, DatanodeDescriptor, List<Node>, long, int,
List<DatanodeDescriptor>)
chooseTarget(int, DatanodeDescriptor, List<Node>, long, int,
List<DatanodeDescriptor>)
chooseTarget is an important method for placing replicas.
> org.apache.hadoop.net.NetworkTopology.InnerNode#getLeaf does not return the
> last node on a rack when used with an excluded node
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-2767
> URL: https://issues.apache.org/jira/browse/HADOOP-2767
> Project: Hadoop Core
> Issue Type: Bug
> Components: dfs
> Affects Versions: hudson
> Reporter: Mark Butler
> Priority: Minor
> Fix For: hudson
>
> Attachments: NetworkTopologyTest.java
>
>
> I have written some test code that shows NetworkTopology.InnerNode#getLeaf
> will never return the last node on the rack if it is called with an
> excludedNode (for example the first node on the rack).
> Consequently I suspect that NetworkTopology.chooseRandom() will never returns
> the last node on the remote rack for the second replica in DFS.
> I have some test code that demonstrates this problem at the getLeaf level,
> although it is necessary to change the visibility of the
> NetworkTopology.InnerNode, NetworkTopology.InnerNode#getLeaf and
> NetworkTopology.getNode from private to package default to run the test.
> TODO: Demonstrate problem at NetworkTopology.chooseRandom level, then submit
> candidate fix.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.