You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sean Mackrory (JIRA)" <ji...@apache.org> on 2016/05/26 17:43:12 UTC
[jira] [Updated] (HBASE-15891) Closeable resources potentially not
getting closed if exception is thrown
[ https://issues.apache.org/jira/browse/HBASE-15891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Mackrory updated HBASE-15891:
----------------------------------
Attachment: HBASE-15891-v1.patch
Attaching a patch. I've looked at all uses of RpcClientImpl and they do all appear to call close() in a finally block, with the possible exception of some instances where the class has been wrapped in other objects 3 or 4 layers deep in test code, and some of them would be quite tricky to change. Not worth it, IMO.
> Closeable resources potentially not getting closed if exception is thrown
> -------------------------------------------------------------------------
>
> Key: HBASE-15891
> URL: https://issues.apache.org/jira/browse/HBASE-15891
> Project: HBase
> Issue Type: Bug
> Reporter: Sean Mackrory
> Priority: Minor
> Attachments: HBASE-15891-v1.patch
>
>
> Static code analysis reports several instances of Closeable resources getting closed outside of 'finally' blocks - so if an Exception is thrown it may not get closed.
> {code}
> ZKUtil.getServerStats
> CoprocessorClassLoader.init
> LogLevel.process
> JarFinder.createJar
> RpcClientImpl.setupIOstreams
> {code}
> Most of these are straightforward. RpcClientImpl wraps the resource potentially multiple times and the resource needs to remain open after the method returns, so I intend to not fix that. Really, any use of that class should be wrapped in a finally and IT should get closed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)