[
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