MAPREDUCE-6881. Fix warnings from Spotbugs in hadoop-mapreduce. Contributed by 
Weiwei Yang.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3ed3062f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3ed3062f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3ed3062f

Branch: refs/heads/HDFS-10467
Commit: 3ed3062fe3979ff55a411b730a8eee2b2c96d6b3
Parents: 28eb2aa
Author: Akira Ajisaka <aajis...@apache.org>
Authored: Thu Apr 27 15:45:33 2017 +0900
Committer: Akira Ajisaka <aajis...@apache.org>
Committed: Thu Apr 27 15:45:33 2017 +0900

----------------------------------------------------------------------
 .../hadoop/mapred/LocalContainerLauncher.java   | 46 ++++++++++++--------
 .../hadoop/mapreduce/v2/app/MRAppMaster.java    | 14 +++---
 .../java/org/apache/hadoop/mapred/JVMId.java    |  2 +-
 .../org/apache/hadoop/mapred/Operation.java     | 14 ++++--
 .../mapreduce/v2/hs/HistoryFileManager.java     |  5 ---
 .../org/apache/hadoop/examples/pi/Parser.java   |  8 +++-
 6 files changed, 53 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/LocalContainerLauncher.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/LocalContainerLauncher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/LocalContainerLauncher.java
index 190d988..0b942b0 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/LocalContainerLauncher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/LocalContainerLauncher.java
@@ -27,6 +27,8 @@ import java.lang.management.ThreadMXBean;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
+import java.util.Collections;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
@@ -81,7 +83,7 @@ public class LocalContainerLauncher extends AbstractService 
implements
   private static final Log LOG = 
LogFactory.getLog(LocalContainerLauncher.class);
 
   private FileContext curFC = null;
-  private final HashSet<File> localizedFiles;
+  private Set<File> localizedFiles = new HashSet<File>();
   private final AppContext context;
   private final TaskUmbilicalProtocol umbilical;
   private final ClassLoader jobClassLoader;
@@ -121,9 +123,12 @@ public class LocalContainerLauncher extends 
AbstractService implements
     // users who do that get what they deserve (and will have to disable
     // uberization in order to run correctly).
     File[] curLocalFiles = curDir.listFiles();
-    localizedFiles = new HashSet<File>(curLocalFiles.length);
-    for (int j = 0; j < curLocalFiles.length; ++j) {
-      localizedFiles.add(curLocalFiles[j]);
+    if (curLocalFiles != null) {
+      HashSet<File> lf = new HashSet<File>(curLocalFiles.length);
+      for (int j = 0; j < curLocalFiles.length; ++j) {
+        lf.add(curLocalFiles[j]);
+      }
+      localizedFiles = Collections.unmodifiableSet(lf);
     }
 
     // Relocalization note/future FIXME (per chrisdo, 20110315):  At moment,
@@ -521,26 +526,29 @@ public class LocalContainerLauncher extends 
AbstractService implements
      */
     private void relocalize() {
       File[] curLocalFiles = curDir.listFiles();
-      for (int j = 0; j < curLocalFiles.length; ++j) {
-        if (!localizedFiles.contains(curLocalFiles[j])) {
-          // found one that wasn't there before:  delete it
-          boolean deleted = false;
-          try {
-            if (curFC != null) {
-              // this is recursive, unlike File delete():
-              deleted = curFC.delete(new 
Path(curLocalFiles[j].getName()),true);
+      if (curLocalFiles != null) {
+        for (int j = 0; j < curLocalFiles.length; ++j) {
+          if (!localizedFiles.contains(curLocalFiles[j])) {
+            // found one that wasn't there before:  delete it
+            boolean deleted = false;
+            try {
+              if (curFC != null) {
+                // this is recursive, unlike File delete():
+                deleted =
+                    curFC.delete(new Path(curLocalFiles[j].getName()), true);
+              }
+            } catch (IOException e) {
+              deleted = false;
+            }
+            if (!deleted) {
+              LOG.warn("Unable to delete unexpected local file/dir "
+                  + curLocalFiles[j].getName()
+                  + ": insufficient permissions?");
             }
-          } catch (IOException e) {
-            deleted = false;
-          }
-          if (!deleted) {
-            LOG.warn("Unable to delete unexpected local file/dir "
-                + curLocalFiles[j].getName() + ": insufficient permissions?");
           }
         }
       }
     }
-
   } // end EventHandler
 
   /**

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
index bb7abb6..ba7f929 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java
@@ -572,13 +572,15 @@ public class MRAppMaster extends CompositeService {
   private boolean isJobNamePatternMatch(JobConf conf, String jobTempDir) {
     // Matched staging files should be preserved after job is finished.
     if (conf.getKeepTaskFilesPattern() != null && jobTempDir != null) {
-      String jobFileName = Paths.get(jobTempDir).getFileName().toString();
-      Pattern pattern = Pattern.compile(conf.getKeepTaskFilesPattern());
-      Matcher matcher = pattern.matcher(jobFileName);
-      return matcher.find();
-    } else {
-      return false;
+      java.nio.file.Path pathName = Paths.get(jobTempDir).getFileName();
+      if (pathName != null) {
+        String jobFileName = pathName.toString();
+        Pattern pattern = Pattern.compile(conf.getKeepTaskFilesPattern());
+        Matcher matcher = pattern.matcher(jobFileName);
+        return matcher.find();
+      }
     }
+    return false;
   }
 
   private boolean isKeepFailedTaskFiles(JobConf conf) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JVMId.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JVMId.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JVMId.java
index 77a7f8a..6e0e1c4 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JVMId.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JVMId.java
@@ -98,7 +98,7 @@ class JVMId {
     int jobComp = this.jobId.compareTo(that.jobId);
     if(jobComp == 0) {
       if(this.isMap == that.isMap) {
-        return Long.valueOf(this.jvmId).compareTo(that.jvmId);
+        return Long.compare(this.jvmId, that.jvmId);
       } else {
         return this.isMap ? -1 : 1;
       }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Operation.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Operation.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Operation.java
index 4df9be4..a5552f8 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Operation.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Operation.java
@@ -34,12 +34,20 @@ public enum Operation {
   KILL_TASK(QueueACL.ADMINISTER_JOBS, JobACL.MODIFY_JOB),
   SET_JOB_PRIORITY(QueueACL.ADMINISTER_JOBS, JobACL.MODIFY_JOB),
   SUBMIT_JOB(QueueACL.SUBMIT_JOB, null);
-  
-  public QueueACL qACLNeeded;
-  public JobACL jobACLNeeded;
+
+  private final QueueACL qACLNeeded;
+  private final JobACL jobACLNeeded;
   
   Operation(QueueACL qACL, JobACL jobACL) {
     this.qACLNeeded = qACL;
     this.jobACLNeeded = jobACL;
   }
+
+  public QueueACL getqACLNeeded() {
+    return qACLNeeded;
+  }
+
+  public JobACL getJobACLNeeded() {
+    return jobACLNeeded;
+  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java
index bd8d9c2..6b98e47 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java
@@ -407,17 +407,12 @@ public class HistoryFileManager extends AbstractService {
         }
         JobId jobId = jobIndexInfo.getJobId();
 
-        List<Path> paths = new ArrayList<Path>(2);
         if (historyFile == null) {
           LOG.info("No file for job-history with " + jobId + " found in 
cache!");
-        } else {
-          paths.add(historyFile);
         }
 
         if (confFile == null) {
           LOG.info("No file for jobConf with " + jobId + " found in cache!");
-        } else {
-          paths.add(confFile);
         }
 
         if (summaryFile == null || !intermediateDoneDirFc.util().exists(

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed3062f/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/pi/Parser.java
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/pi/Parser.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/pi/Parser.java
index a2db9d1..60b3638 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/pi/Parser.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/pi/Parser.java
@@ -67,8 +67,12 @@ public final class Parser {
   private void parse(File f, Map<Parameter, List<TaskResult>> sums) throws 
IOException {
     if (f.isDirectory()) {
       println("Process directory " + f);
-      for(File child : f.listFiles())
-        parse(child, sums);
+      File[] files = f.listFiles();
+      if (files != null) {
+        for(File child : files) {
+          parse(child, sums);
+        }
+      }
     } else if (f.getName().endsWith(".txt")) {
       println("Parse file " + f);
       final Map<Parameter, List<TaskResult>> m = new TreeMap<Parameter, 
List<TaskResult>>();    


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to