[ https://issues.apache.org/jira/browse/HADOOP-8469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289940#comment-13289940 ]
Junping Du commented on HADOOP-8469: ------------------------------------ doGetRack(loc) is not necessary now as doing some refactor work before. Now, new patch (v4) address all Nicholas' review comments so far. > 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 > Attachments: HADOOP-8469-NetworkTopology-pluggable-v2.patch, > HADOOP-8469-NetworkTopology-pluggable-v3.patch, > HADOOP-8469-NetworkTopology-pluggable-v4.patch, > HADOOP-8469-NetworkTopology-pluggable.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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira