Jarek Jarcec Cecho created SQOOP-1250:
-----------------------------------------
Summary: Oracle connector is not disabling autoCommit on created
connections
Key: SQOOP-1250
URL: https://issues.apache.org/jira/browse/SQOOP-1250
Project: Sqoop
Issue Type: Bug
Affects Versions: 1.4.4
Reporter: Jarek Jarcec Cecho
Assignee: Jarek Jarcec Cecho
Fix For: 1.4.5
{{SqlManager}} will always
[disable|https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/manager/SqlManager.java#L834]
the {{autoCommit}} in created connection and the rest of the Sqoop is written
in a way that it expects the {{autoCommit}} off by explicitly calling
{{commit}} and {{rollback}} methods.
Oracle connector currently
[overrides|https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/manager/OracleManager.java#L278]
the method {{makeConnection}} without explicitly disabling the {{autoCommit}}.
Depending on the Oracle JDBC driver this might or might not be an issue as:
* Version < 12.1 will allow calling {{commit}} and {{rollback}} on a connection
that have enabled {{autoCommit}}
* Version >= 12.1 will *not* allow calling {{commit}} and {{rollback}} on a
connection that have enabled {{autoCommit}}. We've already seen this issue in
the [user mailing
list|http://mail-archives.apache.org/mod_mbox/sqoop-user/201309.mbox/%3C20130927160509.GB22393@localhost%3E].
I believe that we should set the {{autoCommit}} in the Oracle connector to
false in order to make it compatible with Oracle JDBC driver version 12.1+ and
also to make the connector consistent with the rest of the code base.
--
This message was sent by Atlassian JIRA
(v6.1#6144)