Author: cnauroth
Date: Tue May 6 16:50:28 2014
New Revision: 1592803
URL: http://svn.apache.org/r1592803
Log:
HADOOP-10541. InputStream in MiniKdc#initKDCServer for minikdc.ldiff is not
closed. Contributed by Swarnim Kulkarni.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1592803&r1=1592802&r2=1592803&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Tue May
6 16:50:28 2014
@@ -443,6 +443,9 @@ Release 2.5.0 - UNRELEASED
HADOOP-10568. Add s3 server-side encryption. (David S. Wang via atm)
+ HADOOP-10541. InputStream in MiniKdc#initKDCServer for minikdc.ldiff is not
+ closed. (Swarnim Kulkarni via cnauroth)
+
Release 2.4.1 - UNRELEASED
INCOMPATIBLE CHANGES
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java?rev=1592803&r1=1592802&r2=1592803&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java
Tue May 6 16:50:28 2014
@@ -393,18 +393,22 @@ public class MiniKdc {
map.put("4", bindAddress);
ClassLoader cl = Thread.currentThread().getContextClassLoader();
- InputStream is = cl.getResourceAsStream("minikdc.ldiff");
+ InputStream is1 = cl.getResourceAsStream("minikdc.ldiff");
SchemaManager schemaManager = ds.getSchemaManager();
- final String content = StrSubstitutor.replace(IOUtils.toString(is), map);
- LdifReader reader = new LdifReader(new StringReader(content));
+ LdifReader reader = null;
+
try {
+ final String content = StrSubstitutor.replace(IOUtils.toString(is1),
map);
+ reader = new LdifReader(new StringReader(content));
+
for (LdifEntry ldifEntry : reader) {
ds.getAdminSession().add(new DefaultEntry(schemaManager,
ldifEntry.getEntry()));
}
} finally {
- reader.close();
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(is1);
}
kdc = new KdcServer();
@@ -429,14 +433,23 @@ public class MiniKdc {
kdc.start();
StringBuilder sb = new StringBuilder();
- is = cl.getResourceAsStream("minikdc-krb5.conf");
- BufferedReader r = new BufferedReader(new InputStreamReader(is));
- String line = r.readLine();
- while (line != null) {
- sb.append(line).append("{3}");
- line = r.readLine();
+ InputStream is2 = cl.getResourceAsStream("minikdc-krb5.conf");
+
+ BufferedReader r = null;
+
+ try {
+ r = new BufferedReader(new InputStreamReader(is2));
+ String line = r.readLine();
+
+ while (line != null) {
+ sb.append(line).append("{3}");
+ line = r.readLine();
+ }
+ } finally {
+ IOUtils.closeQuietly(r);
+ IOUtils.closeQuietly(is2);
}
- r.close();
+
krb5conf = new File(workDir, "krb5.conf").getAbsoluteFile();
FileUtils.writeStringToFile(krb5conf,
MessageFormat.format(sb.toString(), getRealm(), getHost(),
@@ -555,4 +568,4 @@ public class MiniKdc {
keytab.setEntries(entries);
keytab.write(keytabFile);
}
-}
\ No newline at end of file
+}