hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Inigo Goiri (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-12173) NetworkTopology#add calls NetworkTopology#toString always
Date Wed, 01 Jul 2015 23:37:04 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-12173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14611186#comment-14611186
] 

Inigo Goiri commented on HADOOP-12173:
--------------------------------------

Currently, the code does:
{code}
  public void add(Node node) {
    if (node==null) return;
    int newDepth = NodeBase.locationToDepth(node.getNetworkLocation()) + 1;
    netlock.writeLock().lock();
    try {
      String oldTopoStr = this.toString();
      if( node instanceof InnerNode ) {
        throw new IllegalArgumentException(
          "Not allow to add an inner node: "+NodeBase.getPath(node));
      }
      if ((depthOfAllLeaves != -1) && (depthOfAllLeaves != newDepth)) {
        LOG.error("Error: can't add leaf node " + NodeBase.getPath(node) +
            " at depth " + newDepth + " to topology:\n" + oldTopoStr);
        throw new InvalidTopologyException("Failed to add " + NodeBase.getPath(node) +
            ": You cannot have a rack and a non-rack node at the same " +
            "level of the network topology.");
      }
{code}

This implies doing a toString for every single addition.

> NetworkTopology#add calls NetworkTopology#toString always
> ---------------------------------------------------------
>
>                 Key: HADOOP-12173
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12173
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.7.0
>            Reporter: Inigo Goiri
>             Fix For: 2.7.1
>
>
> It always does a toString of the whole topology but this is not required when there are
no errors. This is adding a very big overhead to large clusters as it's walking the whole
tree every time we add a node to the cluster.
> HADOOP-10953 did some fix in that area but the errors is still there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message