HADOOP-12604. Exception may be swallowed in KMSClientProvider. (Yongjun Zhang)

(cherry picked from commit 28bd138018)
This commit is contained in:
Yongjun Zhang 2016-01-05 10:58:59 -08:00
parent f41db81d5f
commit fc6c940464
2 changed files with 6 additions and 9 deletions

View File

@ -389,6 +389,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

View File

@ -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;