sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jarek Jarcec Cecho (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SQOOP-1250) Oracle connector is not disabling autoCommit on created connections
Date Thu, 05 Dec 2013 22:07:35 GMT

     [ 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)

Mime
View raw message