Affects Version/s: 1.4.4
Fix Version/s: 1.4.5
SqlManager will always disable 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 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.
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!