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 ha...@apache.org on 2012/09/25 13:10:11 UTC
svn commit: r1389799 - in
/hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt
src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
Author: harsh
Date: Tue Sep 25 11:10:11 2012
New Revision: 1389799
URL: http://svn.apache.org/viewvc?rev=1389799&view=rev
Log:
HADOOP-8436. NPE In getLocalPathForWrite ( path, conf ) when the required context item is not configured. Contributed by Brahma Reddy Battula. (harsh)
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1389799&r1=1389798&r2=1389799&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Tue Sep 25 11:10:11 2012
@@ -234,6 +234,10 @@ Trunk (Unreleased)
HADOOP-8815. RandomDatum needs to override hashCode().
(Brandon Li via suresh)
+ HADOOP-8436. NPE In getLocalPathForWrite ( path, conf ) when the
+ required context item is not configured
+ (Brahma Reddy Battula via harsh)
+
OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd)
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java?rev=1389799&r1=1389798&r2=1389799&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java Tue Sep 25 11:10:11 2012
@@ -265,6 +265,9 @@ public class LocalDirAllocator {
private synchronized void confChanged(Configuration conf)
throws IOException {
String newLocalDirs = conf.get(contextCfgItemName);
+ if (null == newLocalDirs) {
+ throw new IOException(contextCfgItemName + " not configured");
+ }
if (!newLocalDirs.equals(savedLocalDirs)) {
localDirs = StringUtils.getTrimmedStrings(newLocalDirs);
localFS = FileSystem.getLocal(conf);
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java?rev=1389799&r1=1389798&r2=1389799&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java Tue Sep 25 11:10:11 2012
@@ -293,6 +293,23 @@ public class TestLocalDirAllocator {
}
}
+ /*
+ * Test when mapred.local.dir not configured and called
+ * getLocalPathForWrite
+ */
+ @Test
+ public void testShouldNotthrowNPE() throws Exception {
+ Configuration conf1 = new Configuration();
+ try {
+ dirAllocator.getLocalPathForWrite("/test", conf1);
+ fail("Exception not thrown when " + CONTEXT + " is not set");
+ } catch (IOException e) {
+ assertEquals(CONTEXT + " not configured", e.getMessage());
+ } catch (NullPointerException e) {
+ fail("Lack of configuration should not have thrown an NPE.");
+ }
+ }
+
/** Test no side effect files are left over. After creating a temp
* temp file, remove both the temp file and its parent. Verify that
* no files or directories are left over as can happen when File objects