![]() | |
NewsPythian PapersApparent bug in 10.1.0.4 JDBC Driver - 06/13/05by Raj Thukral and Howard Hsieh |
|
![]() |
Pythian, in partnership with a client, has discovered an apparent bug in the Oracle 10.1.0.4.0 JDBC thin driver that was not present in the 10.1.0.3.0 driver. We performed a server upgrade about a week ago, in which we upgraded a production server from Oracle 9.2.0.5 to 10.1.0.4.0. We had been using the 10.1.0.2.0 JDBC thin driver with the 9i database for about half a year with no problems. When we did the upgrade to Oracle 10g, we also upgraded the Oracle JDBC driver to 10.1.0.4.0. That was when we started seeing problems. When we inserted data, anywhere between 25 to 90 percent of the data did not get inserted. The amount of data that did not get inserted was random, but it was consistent in that if we tried again, the same data that didn't get inserted the first time still wouldn't be inserted. For instance, one of our tables that is known to get 2400 rows added to it by our application started receiving only 646 entries. Every time we ran our application we would receive the same ones, and when we reverted the JDBC driver back to 10.1.0.2.0, we started receiving all 2400 rows again. There were no exceptions thrown or warnings generated. Temporary Solution This was all done using batch sizes and commit points of 30. It worked before, but not after the driver upgrade. One interim solution was to set the batch size and commit point to 1 (I remember that only having the batch size set to 1 would work as well). This was slow, however, so we eventually reverted back to the 10.1.0.2.0 JDBC driver, and everything worked once again. Oracle Support Pythian is currently working with Oracle support to identify whether this is a known bug or whether this is a new bug. Combinations DB 10.1.0.4 driver 10.1.0.4 Bug reproduces Test Case A developer at our client site has come up with a test case and readme instructions with the Java class. You can give it a try yourself and confirm that something is broken in the 10.1.0.4 (current) release of the thin JDBC driver. Download test case. Recommendation Pythian recommends that anyone doing a new deployment of 10.1.0.4 or upgrade to 10.1.0.4 requiring the Oracle Thin JDBC client secure a copy of the 10.1.0.3 driver for their deployment. |
![]() |
|