[
https://issues.apache.org/jira/browse/SQOOP-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Laszlo Bodor updated SQOOP-3306:
--------------------------------
Description:
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}
was:
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}
> 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
>
>
> 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)