You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by jl...@apache.org on 2014/10/31 23:59:24 UTC
git commit: YARN-2707. Potential null dereference in FSDownload.
Contributed by Gera Shegalov (cherry picked from commit
7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)
Repository: hadoop
Updated Branches:
refs/heads/branch-2 6d4a04a03 -> ada40aa93
YARN-2707. Potential null dereference in FSDownload. Contributed by Gera Shegalov
(cherry picked from commit 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ada40aa9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ada40aa9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ada40aa9
Branch: refs/heads/branch-2
Commit: ada40aa9339acf09864edb1b2669da8f3d033b5f
Parents: 6d4a04a
Author: Jason Lowe <jl...@apache.org>
Authored: Fri Oct 31 22:53:04 2014 +0000
Committer: Jason Lowe <jl...@apache.org>
Committed: Fri Oct 31 22:54:49 2014 +0000
----------------------------------------------------------------------
hadoop-yarn-project/CHANGES.txt | 3 +++
.../java/org/apache/hadoop/yarn/util/FSDownload.java | 13 +++++--------
.../org/apache/hadoop/yarn/util/TestFSDownload.java | 3 +--
3 files changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index bf42142..96e5b2b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -796,6 +796,9 @@ Release 2.6.0 - UNRELEASED
modified in YARN-2698 so that tests in YARN frameworks don't break. (Wangda
Tan via vinodkv)
+ YARN-2707. Potential null dereference in FSDownload (Gera Shegalov via
+ jlowe)
+
Release 2.5.1 - 2014-09-05
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
index 8cc5ed3..fb37701 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
@@ -266,7 +266,7 @@ public class FSDownload implements Callable<Path> {
return dCopy;
}
- private long unpack(File localrsrc, File dst, Pattern pattern) throws IOException {
+ private long unpack(File localrsrc, File dst) throws IOException {
switch (resource.getType()) {
case ARCHIVE: {
String lowerDst = dst.getName().toLowerCase();
@@ -290,7 +290,9 @@ public class FSDownload implements Callable<Path> {
case PATTERN: {
String lowerDst = dst.getName().toLowerCase();
if (lowerDst.endsWith(".jar")) {
- RunJar.unJar(localrsrc, dst, pattern);
+ String p = resource.getPattern();
+ RunJar.unJar(localrsrc, dst,
+ p == null ? RunJar.MATCH_ANY : Pattern.compile(p));
File newDst = new File(dst, dst.getName());
if (!dst.exists() && !dst.mkdir()) {
throw new IOException("Unable to create directory: [" + dst + "]");
@@ -356,12 +358,7 @@ public class FSDownload implements Callable<Path> {
return files.makeQualified(copy(sCopy, dst_work));
};
});
- Pattern pattern = null;
- String p = resource.getPattern();
- if (p != null) {
- pattern = Pattern.compile(p);
- }
- unpack(new File(dTmp.toUri()), new File(dFinal.toUri()), pattern);
+ unpack(new File(dTmp.toUri()), new File(dFinal.toUri()));
changePermissions(dFinal.getFileSystem(conf), dFinal);
files.rename(dst_work, destDirPath, Rename.OVERWRITE);
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
index 02ba5fa..07dd630 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
@@ -500,9 +500,8 @@ public class TestFSDownload {
pending.put(rsrc, exec.submit(fsd));
exec.shutdown();
while (!exec.awaitTermination(1000, TimeUnit.MILLISECONDS));
- Assert.assertTrue(pending.get(rsrc).isDone());
-
try {
+ pending.get(rsrc).get(); // see if there was an Exception during download
FileStatus[] filesstatus = files.getDefaultFileSystem().listStatus(
basedir);
for (FileStatus filestatus : filesstatus) {