Laszlo Bodor created SQOOP-3306: ----------------------------------- Summary: 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 Fix For: 1.5.0
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} 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 setup steps could extract to a separated method which could be enclosed by a try/catch. {code} connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); setSessionTimeZone(connection); connection.setAutoCommit(false); {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)