瀏覽代碼

HADOOP-12173. NetworkTopology::add calls toString always. Contributed by Inigo Goiri
(cherry picked from commit e59f6fad6a8849cfab6acbf012f338d9cc7dd63c)

Chris Douglas 10 年之前
父節點
當前提交
f2c0539d38

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -430,6 +430,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-12164. Fix TestMove and TestFsShellReturnCode failed to get command
     HADOOP-12164. Fix TestMove and TestFsShellReturnCode failed to get command
     name using reflection. (lei)
     name using reflection. (lei)
 
 
+    HADOOP-12173. NetworkTopology::add calls toString always.
+    (Inigo Goiri via cdouglas)
+
 Release 2.7.2 - UNRELEASED
 Release 2.7.2 - UNRELEASED
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 1 - 2
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java

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