HADOOP-12810. FileSystem#listLocatedStatus causes unnecessary RPC calls (Contributed by Ryan Blue)
(cherry picked from commit 96ea309431
)
This commit is contained in:
parent
6874a142d8
commit
2bf5a005fa
|
@ -1081,6 +1081,9 @@ Release 2.7.3 - UNRELEASED
|
|||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HADOOP-12810. FileSystem#listLocatedStatus causes unnecessary RPC calls
|
||||
(Ryan Blue via vinayakumarb)
|
||||
|
||||
BUG FIXES
|
||||
|
||||
HADOOP-12296. when setnetgrent returns 0 in linux, exception should be
|
||||
|
|
|
@ -1739,8 +1739,10 @@ public abstract class FileSystem extends Configured implements Closeable {
|
|||
throw new NoSuchElementException("No more entry in " + f);
|
||||
}
|
||||
FileStatus result = stats[i++];
|
||||
// for files, use getBlockLocations(FileStatus, int, int) to avoid
|
||||
// calling getFileStatus(Path) to load the FileStatus again
|
||||
BlockLocation[] locs = result.isFile() ?
|
||||
getFileBlockLocations(result.getPath(), 0, result.getLen()) :
|
||||
getFileBlockLocations(result, 0, result.getLen()) :
|
||||
null;
|
||||
return new LocatedFileStatus(result, locs);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue