HDFS-15906. Close FSImage and FSNamesystem after formatting is complete (#2788)

This commit is contained in:
litao 2021-03-22 19:29:17 +08:00 committed by GitHub
parent 03a3a04c06
commit 343ce8a8c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1245,8 +1245,9 @@ private static boolean format(Configuration conf, boolean force,
LOG.info("Formatting using clusterid: {}", clusterId);
FSImage fsImage = new FSImage(conf, nameDirsToFormat, editDirsToFormat);
FSNamesystem fsn = null;
try {
FSNamesystem fsn = new FSNamesystem(conf, fsImage);
fsn = new FSNamesystem(conf, fsImage);
fsImage.getEditLog().initJournalsForWrite();
// Abort NameNode format if reformat is disabled and if
@ -1271,8 +1272,14 @@ private static boolean format(Configuration conf, boolean force,
fsImage.format(fsn, clusterId, force);
} catch (IOException ioe) {
LOG.warn("Encountered exception during format", ioe);
fsImage.close();
throw ioe;
} finally {
if (fsImage != null) {
fsImage.close();
}
if (fsn != null) {
fsn.close();
}
}
return false;
}