[ https://issues.apache.org/jira/browse/HADOOP-8469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Junping Du reopened HADOOP-8469: -------------------------------- Backport this patch to branch-2 > Make NetworkTopology class pluggable > ------------------------------------ > > Key: HADOOP-8469 > URL: https://issues.apache.org/jira/browse/HADOOP-8469 > Project: Hadoop Common > Issue Type: Sub-task > Affects Versions: 1.0.0, 2.0.0-alpha > Reporter: Junping Du > Assignee: Junping Du > Fix For: 3.0.0 > > Attachments: HADOOP-8469-NetworkTopology-pluggable.patch, > HADOOP-8469-NetworkTopology-pluggable-v2.patch, > HADOOP-8469-NetworkTopology-pluggable-v3.patch, > HADOOP-8469-NetworkTopology-pluggable-v4.patch, > HADOOP-8469-NetworkTopology-pluggable-v5.patch > > > The class NetworkTopology is where the three-layer hierarchical topology is > modeled in the current code base and is instantiated directly by the > DatanodeManager and Balancer. > To support alternative topologies, changes were make the topology class > pluggable, that is to support using a user specified topology class specified > in the Hadoop configuration file core-defaul.xml. The user specified topology > class is instantiated using reflection in the same manner as other > customizable classes in Hadoop. If no use specified topology class is found, > the fallback is to use the NetworkTopology to preserve current behavior. To > make it possible to reuse code in NetworkTopology several minor changes were > made to make the class more extensible. The NetworkTopology class is > currently annotated with @InterfaceAudience.LimitedPrivate({"HDFS", > "MapReduce"}) and @InterfaceStability.Unstable. > The proposed changes in NetworkTopology listed below > 1. Some fields were changes from private to protected > 2. Added some protected methods so that sub classes could override behavior > 3. Added a new method,isNodeGroupAware,to NetworkTopology > 4. The inner class InnerNode was made a package protected class to it would > be easier to subclass -- 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