You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Yongjun Zhang (JIRA)" <ji...@apache.org> on 2015/11/26 17:45:11 UTC

[jira] [Created] (HADOOP-12604) Exception may be swallowed in KMSClientProvider

Yongjun Zhang created HADOOP-12604:
--------------------------------------

             Summary: Exception may be swallowed in KMSClientProvider
                 Key: HADOOP-12604
                 URL: https://issues.apache.org/jira/browse/HADOOP-12604
             Project: Hadoop Common
          Issue Type: Bug
          Components: kms
            Reporter: Yongjun Zhang
            Assignee: Yongjun Zhang


In KMSClientProvider# createConnection
{code}
      try {
        is = conn.getInputStream();
        ret = mapper.readValue(is, klass);
      } catch (IOException ex) {
        if (is != null) {
          is.close(); <== close may throw exception
        }
        throw ex;
      } finally {
        if (is != null) {
          is.close();
        }
      }
    }
{code}

{{ex}} may be swallowed when {{close}} highlighted in the code throws exception.  Thanks [~qwertymaniac] for pointing this out.

BTW, I think we should be able to consolidate the two {{is.close()}} in the above code, so we don't close the same stream twice. The one in the {{finally block}} may be called after an exception is thrown or not, and it may throw exception too, we need to be careful not to swallow exception here too.






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)