From 9ca92684d710d7f1b002cb3556b6540b3f7d67e6 Mon Sep 17 00:00:00 2001 From: xuzifu666 <1206332514@qq.com> Date: Wed, 7 Feb 2024 18:41:51 +0800 Subject: [PATCH 1/2] HDFS-17373. Fix connection leak in FolderRenamePending --- .../apache/hadoop/fs/azure/NativeAzureFileSystem.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java index 45fbf791908a3..c74fe553a4d54 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java @@ -160,9 +160,12 @@ public FolderRenamePending(Path redoFile, NativeAzureFileSystem fs) // open redo file Path f = redoFile; - FSDataInputStream input = fs.open(f); - byte[] bytes = new byte[MAX_RENAME_PENDING_FILE_SIZE]; - int l = input.read(bytes); + int l; + byte[] bytes; + try (FSDataInputStream input = fs.open(f)) { + bytes = new byte[MAX_RENAME_PENDING_FILE_SIZE]; + l = input.read(bytes); + } if (l <= 0) { // Jira HADOOP-12678 -Handle empty rename pending metadata file during // atomic rename in redo path. If during renamepending file is created From 649c40fe96cc84f17ff0d97949fc2b55b46772e9 Mon Sep 17 00:00:00 2001 From: xuzifu666 <1206332514@qq.com> Date: Wed, 7 Feb 2024 18:45:02 +0800 Subject: [PATCH 2/2] style fix --- .../java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java index c74fe553a4d54..4e777da8b409f 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java @@ -160,7 +160,7 @@ public FolderRenamePending(Path redoFile, NativeAzureFileSystem fs) // open redo file Path f = redoFile; - int l; + int l; byte[] bytes; try (FSDataInputStream input = fs.open(f)) { bytes = new byte[MAX_RENAME_PENDING_FILE_SIZE];