[ https://issues.apache.org/jira/browse/HIVE-4500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13652195#comment-13652195 ]
Brock Noland commented on HIVE-4500: ------------------------------------ bq. If the finally block calls a method like IOUtils.cleanup that discards exceptions it will miss exceptions on the close. For example, if the code looks like: That's an incorrect idiom and shouldn't damn all finally use. Regarding your example: {code} OutputStream stream = null; try { ... stream.close(); } catch (Throwable th) { IOUtils.cleanup(stream); throw new IOException("something", th); } {code} Granted that was an example but a Throwable should never be blindly converted to an IOException. Hadoop is too often guilty of this. I believe the following to be more correct as it doesn't convert all Throwables to IOException and only eats an exception on close if a previous exception as thrown, which is the same as your example. {code} OutputStream stream = null; try { ... stream.close(); stream = null; } finally { IOUtils.cleanup(stream); } {code} > HS2 holding too many file handles of hive_job_log_hive_*.txt files > ------------------------------------------------------------------ > > Key: HIVE-4500 > URL: https://issues.apache.org/jira/browse/HIVE-4500 > Project: Hive > Issue Type: Bug > Components: HiveServer2 > Affects Versions: 0.11.0 > Reporter: Alan Gates > Assignee: Alan Gates > Fix For: 0.11.0 > > Attachments: HIVE-4500-2.patch, HIVE-4500-3.patch, HIVE-4500.patch > > > In the hiveserver2 setup used for testing, we see that it has 2444 files open > and of them 2152 are /tmp/hive/hive_job_log_hive_*.txt files -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira