You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Laszlo Bodor (JIRA)" <ji...@apache.org> on 2018/03/29 08:50:00 UTC

[jira] [Commented] (SQOOP-3306) Connection resource related issues in DBOutputFormat and OracleManager

    [ https://issues.apache.org/jira/browse/SQOOP-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418616#comment-16418616 ] 

Laszlo Bodor commented on SQOOP-3306:
-------------------------------------

[~BoglarkaEgyed] : could you please help assign this ticket to me?

> Connection resource related issues in DBOutputFormat and OracleManager
> ----------------------------------------------------------------------
>
>                 Key: SQOOP-3306
>                 URL: https://issues.apache.org/jira/browse/SQOOP-3306
>             Project: Sqoop
>          Issue Type: Bug
>    Affects Versions: 1.4.7
>            Reporter: Laszlo Bodor
>            Priority: Minor
>             Fix For: 1.5.0
>
>         Attachments: SQOOP-3306.01.patch
>
>
> A fortify scan showed 2 possible resource leaks.
> *Overview* : The function getRecordWriter() in DBOutputFormat.java sometimes fails to release a database resource allocated by getConnection() on line 117.
> In the file DBOutputFormat.java similar issues were on line numbers 117
>  
> Connection should be closed before throwing IOException forward.
> {code:java}
>     try {
>       Connection connection = dbConf.getConnection();
>       PreparedStatement statement = null;
>       statement = connection.prepareStatement(
>                     constructQuery(tableName, fieldNames));
>       return new org.apache.sqoop.mapreduce.db.DBOutputFormat.DBRecordWriter(
>                      connection, statement);
>     } catch (Exception ex) {
>       throw new IOException(ex);
>     }
> {code}
>  
> *Overview* : The function makeConnection() in OracleManager.java sometimes fails to release a database resource allocated by getConnection() on line 321.
> In the file OracleManager.java similar issues were on line numbers 321
>  
> Some connection post setup steps could be extracted to a separate method which could be enclosed by a try/catch.
> {code:java}
> connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);     
> setSessionTimeZone(connection);
> connection.setAutoCommit(false);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)