You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by we...@apache.org on 2021/03/24 06:06:36 UTC
[hadoop] 05/10: HDFS-15791. Possible Resource Leak in
FSImageFormatProtobuf. (#2652)
This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit f07bde90c9e9df591464fd0b2b3e3354f439e14d
Author: Narges Shadab <54...@users.noreply.github.com>
AuthorDate: Mon Feb 1 01:56:59 2021 -0800
HDFS-15791. Possible Resource Leak in FSImageFormatProtobuf. (#2652)
(cherry picked from commit 115623a6ee4eb7391c7c26e1728fa153c0698803)
---
.../hdfs/server/namenode/FSImageFormatProtobuf.java | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
index 92a2083..183449f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java
@@ -271,14 +271,20 @@ public final class FSImageFormatProtobuf {
String compressionCodec)
throws IOException {
FileInputStream fin = new FileInputStream(filename);
- FileChannel channel = fin.getChannel();
- channel.position(section.getOffset());
- InputStream in = new BufferedInputStream(new LimitInputStream(fin,
- section.getLength()));
+ try {
- in = FSImageUtil.wrapInputStreamForCompression(conf,
- compressionCodec, in);
- return in;
+ FileChannel channel = fin.getChannel();
+ channel.position(section.getOffset());
+ InputStream in = new BufferedInputStream(new LimitInputStream(fin,
+ section.getLength()));
+
+ in = FSImageUtil.wrapInputStreamForCompression(conf,
+ compressionCodec, in);
+ return in;
+ } catch (IOException e) {
+ fin.close();
+ throw e;
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org