• Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.0, 2.0.0-alpha
    • 1.2.0, 2.1.0-beta
    • None
    • None


      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


        1. HADOOP-8469-branch-2.patch
          15 kB
          Junping Du
        2. HADOOP-8469-branch-2-02.patch
          15 kB
          Junping Du
        3. HADOOP-8469-NetworkTopology-pluggable.patch
          32 kB
          Junping Du
        4. HADOOP-8469-NetworkTopology-pluggable-v2.patch
          33 kB
          Junping Du
        5. HADOOP-8469-NetworkTopology-pluggable-v3.patch
          14 kB
          Junping Du
        6. HADOOP-8469-NetworkTopology-pluggable-v4.patch
          14 kB
          Junping Du
        7. HADOOP-8469-NetworkTopology-pluggable-v5.patch
          16 kB
          Junping Du

        Issue Links



              junping_du Junping Du
              junping_du Junping Du
              0 Vote for this issue
              12 Start watching this issue