diff --git a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManifest.java b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManifest.java index 4c382199f774..049d38bcf172 100644 --- a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManifest.java +++ b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManifest.java @@ -434,10 +434,13 @@ public BackupManifest(FileSystem fs, Path backupPath) throws BackupException { for (FileStatus subFile : subFiles) { if (subFile.getPath().getName().equals(MANIFEST_FILE_NAME)) { // load and set manifest field from file content - FSDataInputStream in = fs.open(subFile.getPath()); long len = subFile.getLen(); byte[] pbBytes = new byte[(int) len]; - in.readFully(pbBytes); + try (FSDataInputStream in = fs.open(subFile.getPath())) { + in.readFully(pbBytes); + } catch (IOException e) { + throw new BackupException(e.getMessage()); + } BackupProtos.BackupImage proto = null; try { proto = BackupProtos.BackupImage.parseFrom(pbBytes);