DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=31457>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=31457 Transaction conflicts in Oracle will corrupt prepared statements in the dbcp pool. Summary: Transaction conflicts in Oracle will corrupt prepared statements in the dbcp pool. Product: Commons Version: 1.2 Final Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Blocker Priority: Other Component: Dbcp AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] If a prepared statement fails due to a transaction conflict (i.e., ORA-08177 sqlState 72000: can't serialize access for this transaction, or ORA-00060 sqlState 61000: deadlock detected while waiting for resource), the copy of this prepared statement in the pool will become corrupted and cause an NPE the next time it is called. java.lang.NullPointerException at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers (OraclePreparedStatement.java:2609) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch (OraclePreparedStatement.java:10240) at org.apache.commons.dbcp.DelegatingStatement.executeBatch (DelegatingStatement.java:294) at org.apache.commons.dbcp.DelegatingStatement.executeBatch (DelegatingStatement.java:294) at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch (BatchingBatcher.java:54) at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2440) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2391) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2259) at com.talisar.hibernate.ThreadLocalSession.flush (ThreadLocalSession.java:293) at com.talisar.hibernate.ThreadLocalSession.txCommit (ThreadLocalSession.java:281) at test.TestConflict$T1.run(TestConflict.java:65) at java.lang.Thread.run(Thread.java:534) This problem exists ONLY when dbcp is configured with poolPreparedStatements=true. Environment: Transaction Isolation: 8 (serializable) j2sdk: 1.4.2 tomcat: 5.0.28 oracle: 9.2.0.1 jdbc driver: ojdbc14_g.jar with orai18n.jar dbcp: commons-dbcp-1.2.1.jar with commons-pool-1.2.jar hibernate: 2.1 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]