瀏覽代碼

MAPREDUCE-6455. Unable to use surefire > 2.18. (Charlie Helin via kasha)

Karthik Kambatla 10 年之前
父節點
當前提交
61bf9cae6f

+ 7 - 2
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java

@@ -988,8 +988,13 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
       } catch(SecurityException se) {
         LOG.warn("Unexpected SecurityException in Configuration", se);
       }
-      if (val == null) {
-        val = getRaw(var);
+      if (val == null || val.isEmpty()) {
+        String raw = getRaw(var);
+        if (raw != null) {
+          // if System.getProperty(var) returns an empty string, retain this
+          // value instead of return null
+          val = raw;
+        }
       }
       if (val == null) {
         return eval; // return literal ${var}: var is unbound

+ 2 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -275,6 +275,8 @@ Trunk (Unreleased)
     MAPREDUCE-5801. Uber mode's log message is missing a vcore reason
     (Steven Wong via aw)
 
+    MAPREDUCE-6455. Unable to use surefire > 2.18. (Charlie Helin via kasha)
+
 Release 2.8.0 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 3 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskLog.java

@@ -181,7 +181,9 @@ public class TaskLog {
   }
 
   static String getBaseLogDir() {
-    return System.getProperty("hadoop.log.dir");
+    String logDir = System.getProperty("hadoop.log.dir");
+    // file is treating "" different from null {@see File#File(String, String)}
+    return logDir == null || logDir.isEmpty() ? null : logDir;
   }
 
   static File getAttemptDir(TaskAttemptID taskid, boolean isCleanup) {