瀏覽代碼

YARN-8169. Cleanup RackResolver.java

Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
BELUGA BEHR 7 年之前
父節點
當前提交
351e509a47

+ 24 - 25
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java

@@ -18,11 +18,9 @@
 
 package org.apache.hadoop.yarn.util;
 
-import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.conf.Configuration;
@@ -34,24 +32,31 @@ import org.apache.hadoop.net.Node;
 import org.apache.hadoop.net.NodeBase;
 import org.apache.hadoop.net.ScriptBasedMapping;
 import org.apache.hadoop.util.ReflectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 
 @InterfaceAudience.LimitedPrivate({"YARN", "MAPREDUCE"})
-public class RackResolver {
+public final class RackResolver {
   private static DNSToSwitchMapping dnsToSwitchMapping;
   private static boolean initCalled = false;
-  private static final Log LOG = LogFactory.getLog(RackResolver.class);
+  private static final Logger LOG = LoggerFactory.getLogger(RackResolver.class);
+
+  /**
+   * Hide the default constructor for utility class.
+   */
+  private RackResolver() {
+  }
 
   public synchronized static void init(Configuration conf) {
     if (initCalled) {
       return;
-    } else {
-      initCalled = true;
     }
+    initCalled = true;
     Class<? extends DNSToSwitchMapping> dnsToSwitchMappingClass =
-      conf.getClass(
-        CommonConfigurationKeysPublic.NET_TOPOLOGY_NODE_SWITCH_MAPPING_IMPL_KEY, 
+        conf.getClass(
+        CommonConfigurationKeysPublic.NET_TOPOLOGY_NODE_SWITCH_MAPPING_IMPL_KEY,
         ScriptBasedMapping.class,
         DNSToSwitchMapping.class);
     try {
@@ -67,10 +72,10 @@ public class RackResolver {
       throw new RuntimeException(e);
     }
   }
-  
+
   /**
    * Utility method for getting a hostname resolved to a node in the
-   * network topology. This method initializes the class with the 
+   * network topology. This method initializes the class with the
    * right resolver implementation.
    * @param conf
    * @param hostName
@@ -94,33 +99,27 @@ public class RackResolver {
     }
     return coreResolve(hostName);
   }
-  
+
   private static Node coreResolve(String hostName) {
-    List <String> tmpList = new ArrayList<String>(1);
-    tmpList.add(hostName);
+    List <String> tmpList = Collections.singletonList(hostName);
     List <String> rNameList = dnsToSwitchMapping.resolve(tmpList);
-    String rName = null;
+    String rName = NetworkTopology.DEFAULT_RACK;
     if (rNameList == null || rNameList.get(0) == null) {
-      rName = NetworkTopology.DEFAULT_RACK;
-      if (LOG.isDebugEnabled()) {
-        LOG.debug("Couldn't resolve " + hostName + ". Falling back to "
-            + NetworkTopology.DEFAULT_RACK);
-      }
+      LOG.debug("Could not resolve {}. Falling back to {}", hostName,
+            NetworkTopology.DEFAULT_RACK);
     } else {
       rName = rNameList.get(0);
-      if (LOG.isDebugEnabled()) {
-        LOG.debug("Resolved " + hostName + " to " + rName);
-      }
+      LOG.debug("Resolved {} to {}", hostName, rName);
     }
     return new NodeBase(hostName, rName);
   }
 
   /**
-   * Only used by tests
+   * Only used by tests.
    */
   @Private
   @VisibleForTesting
-  static DNSToSwitchMapping getDnsToSwitchMapping(){
+  static DNSToSwitchMapping getDnsToSwitchMapping() {
     return dnsToSwitchMapping;
   }
 }