HADOOP-14902. LoadGenerator#genFile write close timing is incorrectly calculated. Contributed by Hanisha Koneru

(cherry picked from commit 6f789fe057)
This commit is contained in:
Jason Lowe 2017-09-28 16:38:30 -05:00
parent ffcf5ba1ce
commit 11ac10fe1d
1 changed files with 8 additions and 3 deletions

View File

@ -322,6 +322,7 @@ public class LoadGenerator extends Configured implements Tool {
private void genFile(Path file, long fileSize) throws IOException {
long startTimestamp = Time.monotonicNow();
FSDataOutputStream out = null;
boolean isOutClosed = false;
try {
out = fc.create(file,
EnumSet.of(CreateFlag.CREATE, CreateFlag.OVERWRITE),
@ -337,11 +338,15 @@ public class LoadGenerator extends Configured implements Tool {
i -= s;
}
startTimestamp = Time.monotonicNow();
executionTime[WRITE_CLOSE] += (Time.monotonicNow() - startTimestamp);
startTime = Time.monotonicNow();
out.close();
executionTime[WRITE_CLOSE] += (Time.monotonicNow() - startTime);
numOfOps[WRITE_CLOSE]++;
isOutClosed = true;
} finally {
IOUtils.cleanupWithLogger(LOG, out);
if (!isOutClosed && out != null) {
out.close();
}
}
}
}