HADOOP-12604. Exception may be swallowed in KMSClientProvider. (Yongjun Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/28bd1380 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/28bd1380 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/28bd1380 Branch: refs/heads/HDFS-1312 Commit: 28bd138018bea6fc9c3bfb94c7a4143420f02ced Parents: 96d8f1d Author: Yongjun Zhang <[email protected]> Authored: Tue Jan 5 10:58:59 2016 -0800 Committer: Yongjun Zhang <[email protected]> Committed: Tue Jan 5 11:09:05 2016 -0800 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../apache/hadoop/crypto/key/kms/KMSClientProvider.java | 12 +++--------- 2 files changed, 6 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/28bd1380/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 1a53ee8..0b88ed0 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -1028,6 +1028,9 @@ Release 2.8.0 - UNRELEASED HADOOP-12658. Clear javadoc and check style issues around DomainSocket (Kai Zheng via umamahesh) + HADOOP-12604. Exception may be swallowed in KMSClientProvider. + (Yongjun Zhang) + OPTIMIZATIONS HADOOP-11785. Reduce the number of listStatus operation in distcp http://git-wip-us.apache.org/repos/asf/hadoop/blob/28bd1380/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java index cbfa6f6..fd7a83e 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java @@ -27,6 +27,7 @@ import org.apache.hadoop.crypto.key.KeyProviderDelegationTokenExtension; import org.apache.hadoop.crypto.key.KeyProviderFactory; import org.apache.hadoop.fs.CommonConfigurationKeysPublic; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.Text; import org.apache.hadoop.security.Credentials; import org.apache.hadoop.security.ProviderUtils; @@ -515,7 +516,7 @@ public class KMSClientProvider extends KeyProvider implements CryptoExtension, writeJson(jsonOutput, conn.getOutputStream()); } } catch (IOException ex) { - conn.getInputStream().close(); + IOUtils.closeStream(conn.getInputStream()); throw ex; } if ((conn.getResponseCode() == HttpURLConnection.HTTP_FORBIDDEN @@ -555,15 +556,8 @@ public class KMSClientProvider extends KeyProvider implements CryptoExtension, try { is = conn.getInputStream(); ret = mapper.readValue(is, klass); - } catch (IOException ex) { - if (is != null) { - is.close(); - } - throw ex; } finally { - if (is != null) { - is.close(); - } + IOUtils.closeStream(is); } } return ret;
