Revert "HADOOP-12009 Clarify FileSystem.listStatus() sorting order & fix FileSystemContractBaseTest:testListStatus. (J.Andreina via stevel)"
This reverts commit 3dfa8161f9412bcb040f3c29c471344f25f24337. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/405b0982 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/405b0982 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/405b0982 Branch: refs/heads/YARN-2928 Commit: 405b0982b600a5c7c44ebf8c6644db15a43e2091 Parents: d963454 Author: Steve Loughran <[email protected]> Authored: Tue Jun 30 11:54:12 2015 +0100 Committer: Zhijie Shen <[email protected]> Committed: Mon Jul 6 11:31:55 2015 -0700 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 4 ---- .../main/java/org/apache/hadoop/fs/FileSystem.java | 17 +---------------- .../src/site/markdown/filesystem/filesystem.md | 4 ---- .../hadoop/fs/FileSystemContractBaseTest.java | 11 +++-------- 4 files changed, 4 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/405b0982/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 2cf9509..c010ff1 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -664,10 +664,6 @@ Release 2.8.0 - UNRELEASED HADOOP-11958. MetricsSystemImpl fails to show backtrace when an error occurs (Jason Lowe via jeagles) - - HADOOP-12009 Clarify FileSystem.listStatus() sorting order & fix - FileSystemContractBaseTest:testListStatus. (J.Andreina via stevel) - OPTIMIZATIONS HADOOP-11785. Reduce the number of listStatus operation in distcp http://git-wip-us.apache.org/repos/asf/hadoop/blob/405b0982/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java index c98074a..c73caf7 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java @@ -1498,9 +1498,7 @@ public abstract class FileSystem extends Configured implements Closeable { /** * List the statuses of the files/directories in the given path if the path is * a directory. - * <p> - * Does not guarantee to return the List of files/directories status in a - * sorted order. + * * @param f given path * @return the statuses of the files/directories in the given patch * @throws FileNotFoundException when the path does not exist; @@ -1542,9 +1540,6 @@ public abstract class FileSystem extends Configured implements Closeable { /** * Filter files/directories in the given path using the user-supplied path * filter. - * <p> - * Does not guarantee to return the List of files/directories status in a - * sorted order. * * @param f * a path name @@ -1565,9 +1560,6 @@ public abstract class FileSystem extends Configured implements Closeable { /** * Filter files/directories in the given list of paths using default * path filter. - * <p> - * Does not guarantee to return the List of files/directories status in a - * sorted order. * * @param files * a list of paths @@ -1584,9 +1576,6 @@ public abstract class FileSystem extends Configured implements Closeable { /** * Filter files/directories in the given list of paths using user-supplied * path filter. - * <p> - * Does not guarantee to return the List of files/directories status in a - * sorted order. * * @param files * a list of paths @@ -1747,8 +1736,6 @@ public abstract class FileSystem extends Configured implements Closeable { * while consuming the entries. Each file system implementation should * override this method and provide a more efficient implementation, if * possible. - * Does not guarantee to return the iterator that traverses statuses - * of the files in a sorted order. * * @param p target path * @return remote iterator @@ -1776,8 +1763,6 @@ public abstract class FileSystem extends Configured implements Closeable { /** * List the statuses and block locations of the files in the given path. - * Does not guarantee to return the iterator that traverses statuses - * of the files in a sorted order. * * If the path is a directory, * if recursive is false, returns files in the directory; http://git-wip-us.apache.org/repos/asf/hadoop/blob/405b0982/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md index f323374..84e3755 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md @@ -183,10 +183,6 @@ to the same path: forall fs in listStatus(Path) : fs == getFileStatus(fs.path) -**Ordering of results**: there is no guarantee of ordering of the listed entries. -While HDFS currently returns an alphanumerically sorted list, neither the Posix `readdir()` -nor Java's `File.listFiles()` API calls define any ordering of returned values. Applications -which require a uniform sort order on the results must perform the sorting themselves. ### Atomicity and Consistency http://git-wip-us.apache.org/repos/asf/hadoop/blob/405b0982/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java index 495af00..2ca81e9 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java @@ -20,7 +20,6 @@ package org.apache.hadoop.fs; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; import junit.framework.TestCase; @@ -225,13 +224,9 @@ public abstract class FileSystemContractBaseTest extends TestCase { paths = fs.listStatus(path("/test/hadoop")); assertEquals(3, paths.length); - ArrayList<String> list = new ArrayList<String>(); - for (FileStatus fileState : paths) { - list.add(fileState.getPath().toString()); - } - assertTrue(list.contains(path("/test/hadoop/a"))); - assertTrue(list.contains(path("/test/hadoop/b"))); - assertTrue(list.contains(path("/test/hadoop/c"))); + assertEquals(path("/test/hadoop/a"), paths[0].getPath()); + assertEquals(path("/test/hadoop/b"), paths[1].getPath()); + assertEquals(path("/test/hadoop/c"), paths[2].getPath()); paths = fs.listStatus(path("/test/hadoop/a")); assertEquals(0, paths.length);
