[ https://issues.apache.org/jira/browse/HADOOP-12615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15058892#comment-15058892 ]
Zhe Zhang commented on HADOOP-12615: ------------------------------------ Thanks Steve for the suggestion; good point. Thank you for the update Wei-Chiu. I have a few questions/comments. # I'm not sure if {{cl = ThreadUtil.class.getClassLoader()}} is the right behavior. Could you explain why we can use the CL of {{ThreadUtil}} to replace the CL of the current thread? # In {{MiniKMS}}, better make the following 2 segments consistent. They should both use a try-finally structure, or neither. Actually I don't think we need the try-finally: in case of IOException, {{is}} remains null anyway. {code} if (!aclsFile.exists()) { InputStream is = ThreadUtil.getResourceAsStream("mini-kms-acls-default.xml"); {code} {code} InputStream is = null; OutputStream os; try { is = ThreadUtil.getResourceAsStream("kms-webapp/WEB-INF/web.xml"); os = new FileOutputStream(new File(webInf, "web.xml")); IOUtils.copy(is, os); } finally { IOUtils.closeQuietly(is); IOUtils.closeQuietly(is); } {code} # Also, {{is}} is closed twice in the above. A typo with {{os}}? # The local variable {{is}} in {{TestKMSAudit.java}} doesn't look necessary? How about keeping the original structure but use the new {{getResourceAsStream}} method? # {{MiniKdc}} still uses the old {{getResourceAsStream}} > Fix NPE in MiniKMS.start() > -------------------------- > > Key: HADOOP-12615 > URL: https://issues.apache.org/jira/browse/HADOOP-12615 > Project: Hadoop Common > Issue Type: Bug > Components: kms, test > Affects Versions: 3.0.0 > Reporter: Wei-Chiu Chuang > Assignee: Wei-Chiu Chuang > Priority: Minor > Labels: jenkins, supportability, test > Attachments: HADOOP-12615.001.patch, HADOOP-12615.002.patch, > HADOOP-12615.003.patch, HADOOP-12615.004.patch, HADOOP-12615.005.patch > > > Sometimes, KMS resource file can not be loaded. When this happens, an > InputStream variable will be a null pointer which will subsequently throw NPE. > This is a supportability JIRA that makes the error message more explicit, and > explain why NPE is thrown. Ultimately, leads us to understand why the > resource files can not be loaded. -- This message was sent by Atlassian JIRA (v6.3.4#6332)