Junping Du created HADOOP-8469:
----------------------------------

             Summary: Make NetworkTopology class pluggable and support user 
specified topology class
                 Key: HADOOP-8469
                 URL: https://issues.apache.org/jira/browse/HADOOP-8469
             Project: Hadoop Common
          Issue Type: Sub-task
    Affects Versions: 2.0.0-alpha, 1.0.0
            Reporter: Junping Du
            Assignee: Junping Du


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

        

Reply via email to