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 bo...@apache.org on 2012/08/23 21:20:45 UTC
svn commit: r1376657 - in
/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common: ./
src/main/java/org/apache/hadoop/fs/ src/test/java/org/apache/hadoop/fs/
Author: bobby
Date: Thu Aug 23 19:20:44 2012
New Revision: 1376657
URL: http://svn.apache.org/viewvc?rev=1376657&view=rev
Log:
svn merge -c 1376653 FIXES: HADOOP-8709. globStatus changed behavior from 0.20/1.x (Jason Lowe via bobby)
Modified:
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FSMainOperationsBaseTest.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1376657&r1=1376656&r2=1376657&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt Thu Aug 23 19:20:44 2012
@@ -190,6 +190,9 @@ Release 0.23.3 - UNRELEASED
HADOOP-8225. DistCp fails when invoked by Oozie (daryn via bobby)
+ HADOOP-8709. globStatus changed behavior from 0.20/1.x (Jason Lowe via
+ bobby)
+
Release 0.23.2 - UNRELEASED
NEW FEATURES
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java?rev=1376657&r1=1376656&r2=1376657&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java Thu Aug 23 19:20:44 2012
@@ -2014,7 +2014,11 @@ public final class FileContext {
new GlobFilter(components[components.length - 1], filter);
if (fp.hasPattern()) { // last component has a pattern
// list parent directories and then glob the results
- results = listStatus(parentPaths, fp);
+ try {
+ results = listStatus(parentPaths, fp);
+ } catch (FileNotFoundException e) {
+ results = null;
+ }
hasGlob[0] = true;
} else { // last component does not have a pattern
// get all the path names
@@ -2065,7 +2069,11 @@ public final class FileContext {
}
GlobFilter fp = new GlobFilter(filePattern[level]);
if (fp.hasPattern()) {
- parents = FileUtil.stat2Paths(listStatus(parents, fp));
+ try {
+ parents = FileUtil.stat2Paths(listStatus(parents, fp));
+ } catch (FileNotFoundException e) {
+ parents = null;
+ }
hasGlob[0] = true;
} else {
for (int i = 0; i < parents.length; i++) {
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java?rev=1376657&r1=1376656&r2=1376657&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java Thu Aug 23 19:20:44 2012
@@ -1559,7 +1559,11 @@ public abstract class FileSystem extends
GlobFilter fp = new GlobFilter(components[components.length - 1], filter);
if (fp.hasPattern()) { // last component has a pattern
// list parent directories and then glob the results
- results = listStatus(parentPaths, fp);
+ try {
+ results = listStatus(parentPaths, fp);
+ } catch (FileNotFoundException e) {
+ results = null;
+ }
hasGlob[0] = true;
} else { // last component does not have a pattern
// remove the quoting of metachars in a non-regexp expansion
@@ -1608,7 +1612,11 @@ public abstract class FileSystem extends
}
GlobFilter fp = new GlobFilter(filePattern[level]);
if (fp.hasPattern()) {
- parents = FileUtil.stat2Paths(listStatus(parents, fp));
+ try {
+ parents = FileUtil.stat2Paths(listStatus(parents, fp));
+ } catch (FileNotFoundException e) {
+ parents = null;
+ }
hasGlob[0] = true;
} else { // the component does not have a pattern
// remove the quoting of metachars in a non-regexp expansion
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FSMainOperationsBaseTest.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FSMainOperationsBaseTest.java?rev=1376657&r1=1376656&r2=1376657&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FSMainOperationsBaseTest.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FSMainOperationsBaseTest.java Thu Aug 23 19:20:44 2012
@@ -364,15 +364,17 @@ public abstract class FSMainOperationsBa
}
@Test
- public void testGlobStatusThrowsExceptionForNonExistentFile() throws Exception {
- try {
- // This should throw a FileNotFoundException
- fSys.globStatus(
- getTestRootPath(fSys, "test/hadoopfsdf/?"));
- Assert.fail("Should throw FileNotFoundException");
- } catch (FileNotFoundException fnfe) {
- // expected
- }
+ public void testGlobStatusNonExistentFile() throws Exception {
+ FileStatus[] paths = fSys.globStatus(
+ getTestRootPath(fSys, "test/hadoopfsdf"));
+ Assert.assertNull(paths);
+
+ paths = fSys.globStatus(
+ getTestRootPath(fSys, "test/hadoopfsdf/?"));
+ Assert.assertEquals(0, paths.length);
+ paths = fSys.globStatus(
+ getTestRootPath(fSys, "test/hadoopfsdf/xyz*/?"));
+ Assert.assertEquals(0, paths.length);
}
@Test
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java?rev=1376657&r1=1376656&r2=1376657&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java Thu Aug 23 19:20:44 2012
@@ -360,15 +360,17 @@ public abstract class FileContextMainOpe
}
@Test
- public void testGlobStatusThrowsExceptionForNonExistentFile() throws Exception {
- try {
- // This should throw a FileNotFoundException
- fc.util().globStatus(
- getTestRootPath(fc, "test/hadoopfsdf/?"));
- Assert.fail("Should throw FileNotFoundException");
- } catch (FileNotFoundException fnfe) {
- // expected
- }
+ public void testGlobStatusNonExistentFile() throws Exception {
+ FileStatus[] paths = fc.util().globStatus(
+ getTestRootPath(fc, "test/hadoopfsdf"));
+ Assert.assertNull(paths);
+
+ paths = fc.util().globStatus(
+ getTestRootPath(fc, "test/hadoopfsdf/?"));
+ Assert.assertEquals(0, paths.length);
+ paths = fc.util().globStatus(
+ getTestRootPath(fc, "test/hadoopfsdf/xyz*/?"));
+ Assert.assertEquals(0, paths.length);
}
@Test