HADOOP-12810. FileSystem#listLocatedStatus causes unnecessary RPC calls (Contributed by Ryan Blue)
(cherry picked from commit 96ea3094315bb1e1a5e268e3817c7fdedc3e9462) (cherry picked from commit 2bf5a005fab287689a148c1928f3b04c0a8dcedf)
This commit is contained in:
parent
c7be3deff7
commit
e88c01fa58
@ -1019,6 +1019,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
|
||||
|
@ -1732,8 +1732,10 @@ public LocatedFileStatus next() throws IOException {
|
||||
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…
x
Reference in New Issue
Block a user