[
https://issues.apache.org/jira/browse/SQOOP-1250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jarek Jarcec Cecho updated SQOOP-1250:
--------------------------------------
Description:
{{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.
Big thanks to Douglas Surber from Oracle for pointing this out!
was:
{{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.
> 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
>
> Attachments: SQOOP-1250.patch
>
>
> {{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.
> Big thanks to Douglas Surber from Oracle for pointing this out!
--
This message was sent by Atlassian JIRA
(v6.1#6144)