HDFS-16343. Add some debug logs when the dfsUsed are not used during Datanode startup. (#3694)

This commit is contained in:
Mukul Kumar Singh 2021-11-23 19:06:14 +05:30 committed by GitHub
parent c0bdba8fac
commit faa4eeacb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 2 deletions

View File

@ -298,9 +298,13 @@ class BlockPoolSlice {
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;
}
@ -309,21 +313,31 @@ class BlockPoolSlice {
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();