HDFS-13747. Statistic for list_located_status is incremented incorrectly by listStatusIterator. Contributed by Antal Mihalyi.
This commit is contained in:
parent
1697a02306
commit
c67b0650ea
@ -1217,7 +1217,11 @@ private DirListingIterator(Path p, PathFilter filter,
|
||||
thisListing = dfs.listPaths(src, HdfsFileStatus.EMPTY_NAME,
|
||||
needLocation);
|
||||
statistics.incrementReadOps(1);
|
||||
if (needLocation) {
|
||||
storageStatistics.incrementOpCounter(OpType.LIST_LOCATED_STATUS);
|
||||
} else {
|
||||
storageStatistics.incrementOpCounter(OpType.LIST_STATUS);
|
||||
}
|
||||
if (thisListing == null) { // the directory does not exist
|
||||
throw new FileNotFoundException("File " + p + " does not exist.");
|
||||
}
|
||||
|
@ -706,6 +706,7 @@ public void testStatistics() throws IOException {
|
||||
// Iterative ls test
|
||||
long mkdirOp = getOpStatistics(OpType.MKDIRS);
|
||||
long listStatusOp = getOpStatistics(OpType.LIST_STATUS);
|
||||
long locatedListStatusOP = getOpStatistics(OpType.LIST_LOCATED_STATUS);
|
||||
for (int i = 0; i < 10; i++) {
|
||||
Path p = new Path(dir, Integer.toString(i));
|
||||
fs.mkdirs(p);
|
||||
@ -729,6 +730,12 @@ public void testStatistics() throws IOException {
|
||||
checkStatistics(fs, readOps, ++writeOps, largeReadOps);
|
||||
checkOpStatistics(OpType.MKDIRS, mkdirOp);
|
||||
checkOpStatistics(OpType.LIST_STATUS, listStatusOp);
|
||||
|
||||
fs.listLocatedStatus(dir);
|
||||
locatedListStatusOP++;
|
||||
readOps++;
|
||||
checkStatistics(fs, readOps, writeOps, largeReadOps);
|
||||
checkOpStatistics(OpType.LIST_LOCATED_STATUS, locatedListStatusOP);
|
||||
}
|
||||
|
||||
opCount = getOpStatistics(OpType.GET_STATUS);
|
||||
|
Loading…
Reference in New Issue
Block a user