[
https://issues.apache.org/jira/browse/HADOOP-10798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14591217#comment-14591217
]
Jakob Homan commented on HADOOP-10798:
--------------------------------------
Right now this JIRA is limited to correcting an incorrect javadoc. If we add
in changing the output of a reasonably distant command (specifically the shell
of liststatus, not just the API of FileSystem.listStatus), that's a pretty big
change relative to the original JIRA. I'd be fine with having that discussion
(to sort the shell output of ls) in another JIRA. Since this additional change
would potentially affect current behavior for non-HDFS FileSystems, as you say,
it should probably be considered an incompatible change, which again is beyond
the scope of the current JIRA.
Can we just restrict this one to the API correction and open another to discuss
adding sorting?
> globStatus() does not return sorted list of files
> -------------------------------------------------
>
> Key: HADOOP-10798
> URL: https://issues.apache.org/jira/browse/HADOOP-10798
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 2.3.0
> Reporter: Felix Borchers
> Assignee: Colin Patrick McCabe
> Priority: Minor
> Labels: BB2015-05-TBR
> Attachments: HADOOP-10798.001.patch
>
>
> (FileSystem) globStatus() does not return a sorted file list anymore.
> But the API says: " ... Results are sorted by their names."
> Seems to be lost, when the Globber Object was introduced. Can't find a sort
> in actual code.
> code to check this behavior:
> {code}
> Configuration conf = new Configuration();
> FileSystem fs = FileSystem.get(conf);
> Path path = new Path("/tmp/" + System.currentTimeMillis());
> fs.mkdirs(path);
> fs.deleteOnExit(path);
> fs.createNewFile(new Path(path, "2"));
> fs.createNewFile(new Path(path, "3"));
> fs.createNewFile(new Path(path, "1"));
> FileStatus[] status = fs.globStatus(new Path(path, "*"));
> Collection list = new ArrayList();
> for (FileStatus f: status) {
> list.add(f.getPath().toString());
> //System.out.println(f.getPath().toString());
> }
> boolean sorted = Ordering.natural().isOrdered(list);
> Assert.assertTrue(sorted);
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)