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 ec...@apache.org on 2015/10/02 17:57:27 UTC
[48/52] [abbrv] hadoop git commit: HADOOP-8437. getLocalPathForWrite
should throw IOException for invalid paths. Contributed by Brahma Reddy
Battula
HADOOP-8437. getLocalPathForWrite should throw IOException for invalid paths. Contributed by Brahma Reddy Battula
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fd026f53
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fd026f53
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fd026f53
Branch: refs/heads/HADOOP-11890
Commit: fd026f535cc09e99a7d4d5d2a8c13eabe8865315
Parents: ecbfd68
Author: Zhihai Xu <zx...@apache.org>
Authored: Thu Oct 1 11:56:49 2015 -0700
Committer: Zhihai Xu <zx...@apache.org>
Committed: Thu Oct 1 11:56:49 2015 -0700
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++
.../org/apache/hadoop/fs/LocalDirAllocator.java | 6 ++++--
.../apache/hadoop/fs/TestLocalDirAllocator.java | 17 +++++++++++++++++
3 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fd026f53/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 5d583be..544a345 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -1106,6 +1106,9 @@ Release 2.8.0 - UNRELEASED
HADOOP-10296. Incorrect null check in SwiftRestClient#buildException().
(Rahul Palamuttam and Kanaka Kumar Avvaru via aajisaka)
+ HADOOP-8437. getLocalPathForWrite should throw IOException for invalid
+ paths. (Brahma Reddy Battula via zxu)
+
OPTIMIZATIONS
HADOOP-12051. ProtobufRpcEngine.invoke() should use Exception.toString()
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fd026f53/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
index ccea6e5..70cf87d 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/LocalDirAllocator.java
@@ -304,8 +304,10 @@ public class LocalDirAllocator {
dirDF = dfList.toArray(new DF[dirs.size()]);
savedLocalDirs = newLocalDirs;
- // randomize the first disk picked in the round-robin selection
- dirNumLastAccessed = dirIndexRandomizer.nextInt(dirs.size());
+ if (dirs.size() > 0) {
+ // randomize the first disk picked in the round-robin selection
+ dirNumLastAccessed = dirIndexRandomizer.nextInt(dirs.size());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fd026f53/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
index 2e31174..8cbe283 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalDirAllocator.java
@@ -458,4 +458,21 @@ public class TestLocalDirAllocator {
}
}
+ /**
+ * Test to check the LocalDirAllocation for the invalid path HADOOP-8437
+ *
+ * @throws Exception
+ */
+ @Test(timeout = 30000)
+ public void testGetLocalPathForWriteForInvalidPaths() throws Exception {
+ conf.set(CONTEXT, " ");
+ try {
+ dirAllocator.getLocalPathForWrite("/test", conf);
+ fail("not throwing the exception");
+ } catch (IOException e) {
+ assertEquals("Incorrect exception message",
+ "No space available in any of the local directories.", e.getMessage());
+ }
+ }
+
}