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)

Reply via email to