MAPREDUCE-2317. Fix a NPE in HadoopArchives. Contributed by Devaraj K
git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/branches/branch-0.21@1096026 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 5abb73a..d58a2fa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -42,6 +42,8 @@
MAPREDUCE-1929. Allow artifacts to be published to the staging Apache Nexus
Maven Repository. (tomwhite)
+ MAPREDUCE-2317. Fix a NPE in HadoopArchives. (Devaraj K via szetszwo)
+
Release 0.21.0 - 2010-08-13
INCOMPATIBLE CHANGES
diff --git a/src/tools/org/apache/hadoop/tools/HadoopArchives.java b/src/tools/org/apache/hadoop/tools/HadoopArchives.java
index 3f757c7..f2ebc6e 100644
--- a/src/tools/org/apache/hadoop/tools/HadoopArchives.java
+++ b/src/tools/org/apache/hadoop/tools/HadoopArchives.java
@@ -368,16 +368,18 @@
}
else {
Path parent = p.getParent();
- if (allpaths.containsKey(parent.toString())) {
- HashSet<String> children = allpaths.get(parent.toString());
- children.add(p.getName());
+ if (null != parent) {
+ if (allpaths.containsKey(parent.toString())) {
+ HashSet<String> children = allpaths.get(parent.toString());
+ children.add(p.getName());
+ }
+ else {
+ HashSet<String> children = new HashSet<String>();
+ children.add(p.getName());
+ allpaths.put(parent.toString(), children);
+ }
+ parents.add(parent);
}
- else {
- HashSet<String> children = new HashSet<String>();
- children.add(p.getName());
- allpaths.put(parent.toString(), children);
- }
- parents.add(parent);
}
}
justDirs = parents;