Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -293,9 +293,13 @@ long loadDfsUsed() {
long mtime;
Scanner sc;

File duCacheFile = new File(currentDir, DU_CACHE_FILE);
try {
sc = new Scanner(new File(currentDir, DU_CACHE_FILE), "UTF-8");
sc = new Scanner(duCacheFile, "UTF-8");
} catch (FileNotFoundException fnfe) {
FsDatasetImpl.LOG.warn("{} file missing in {}, will proceed with Du " +
"for space computation calculation, ",
DU_CACHE_FILE, currentDir);
return -1;
}

Expand All @@ -304,21 +308,31 @@ long loadDfsUsed() {
if (sc.hasNextLong()) {
cachedDfsUsed = sc.nextLong();
} else {
FsDatasetImpl.LOG.warn("cachedDfsUsed not found in file:{}, will " +
"proceed with Du for space computation calculation, ",
duCacheFile);
return -1;
}
// Get the recorded mtime from the file.
if (sc.hasNextLong()) {
mtime = sc.nextLong();
} else {
FsDatasetImpl.LOG.warn("mtime not found in file:{}, will proceed" +
" with Du for space computation calculation, ", duCacheFile);
return -1;
}

long elapsedTime = timer.now() - mtime;
// Return the cached value if mtime is okay.
if (mtime > 0 && (timer.now() - mtime < cachedDfsUsedCheckTime)) {
if (mtime > 0 && (elapsedTime < cachedDfsUsedCheckTime)) {
FsDatasetImpl.LOG.info("Cached dfsUsed found for " + currentDir + ": " +
cachedDfsUsed);
return cachedDfsUsed;
}
FsDatasetImpl.LOG.warn("elapsed time:{} is greater than threshold:{}," +
" mtime:{} in file:{}, will proceed with Du for space" +
" computation calculation",
elapsedTime, cachedDfsUsedCheckTime, mtime, duCacheFile);
return -1;
} finally {
sc.close();
Expand Down