HADOOP-8436. NPE In getLocalPathForWrite ( path, conf ) when the required context item is not configured. Contributed by Brahma Reddy Battula. (harsh)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1389799 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d50e06d9e0
commit
a7e450c7cc
@ -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)
|
||||
|
@ -265,6 +265,9 @@ public AllocatorPerContext(String contextCfgItemName) {
|
||||
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);
|
||||
|
@ -293,6 +293,23 @@ public void testLocalPathForWriteDirCreation() throws IOException {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
Loading…
Reference in New Issue
Block a user