Hi Mark, Yes, this is a known issue with Derby. The concurrency control in Derby is very.... pessimistic... and doesn't jive very well with concurrent updates on the same table (even on different rows).
I'd suggest using a "real" database (something that supports multi-version concurrency control / MVCC) such as MySQL (InnoDB), Oracle, ProgreSQL, ... to avoid the issue. alex On Mon, May 19, 2008 at 6:35 PM, Mark Panahi <[EMAIL PROTECTED]> wrote: > Hello, I'm getting the following error when having this in my bpel: > > <flow name="GetPrinterQuote"> > <bpws:invoke name="GetQuoteFromPrinterA" > partnerLink="PrinterVendorA" > operation="getQuote" > portType="ns26:PrinterAPortType" > inputVariable="GetQuoteIn1" > outputVariable="GetQuoteOut1"/> > <bpws:invoke name="GetQuoteFromPrinterB" > partnerLink="PrinterVendorB" > operation="getQuote" > portType="ns27:PrinterBPortType" > inputVariable="GetQuoteIn2" > outputVariable="GetQuoteOut2"/> > <bpws:invoke name="GetQuoteFromPrinterC" > partnerLink="PrinterVendorC" > operation="getQuote" > portType="ns28:PrinterCPortType" > inputVariable="GetQuoteIn3" > outputVariable="GetQuoteOut3"/> > </flow> > > If I change flow to sequence it works fine. I notice the error is related > to > derby. I am also using derby in my app. I hope there is no conflict. > > Here is the version info: > > [EMAIL PROTECTED]:~/ode/ode11svn$ svn info > Path: . > URL: http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1 > Repository Root: http://svn.apache.org/repos/asf > Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 > Revision: 651487 > Node Kind: directory > Schedule: normal > Last Changed Author: mriou > Last Changed Rev: 650904 > Last Changed Date: 2008-04-23 08:23:34 -0700 (Wed, 23 Apr 2008) > > Sorry for the long stack trace. > > -Mark > > > > > > [java] WARN 2008-05-19 18:26:37,227 [pool-2-thread-5] > org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener: > connectionErrorOccurred called with null > [java] java.sql.SQLException: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {427, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,10) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {427, X} > [java] . The selected victim is XID : 427. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125) > [java] at > > org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:301) > [java] at > > org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103) > [java] at > > org.apache.ode.scheduler.simple.JdbcDelegate.deleteJob(JdbcDelegate.java:92) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:339) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: ERROR 40001: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {427, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,10) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {427, X} > [java] . The selected victim is XID : 427. > [java] at > > org.apache.derby.iapi.error.StandardException.newException(StandardException.java:303) > [java] at > > org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:361) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:613) > [java] at > > org.apache.derby.impl.services.locks.AbstractPool.lockObject(AbstractPool.java:117) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentPool.lockObject(ConcurrentPool.java:28) > [java] at > > org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(RowLocking3.java:248) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:504) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:638) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(B2IRowLocking3.java:335) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(B2IRowLocking3.java:628) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(B2IRowLockingRR.java:112) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:304) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1809) > [java] at > > org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:680) > [java] at > > org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(IndexRowToBaseRowResultSet.java:373) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java:252) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java:136) > [java] at > > org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:372) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235) > [java] ... 14 more > [java] 18:26:37,227 WARN [GeronimoConnectionEventListener] > connectionErrorOccurred called with null > [java] java.sql.SQLException: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {427, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,10) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {427, X} > [java] . The selected victim is XID : 427. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125) > [java] at > > org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:301) > [java] at > > org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103) > [java] at > > org.apache.ode.scheduler.simple.JdbcDelegate.deleteJob(JdbcDelegate.java:92) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:339) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: ERROR 40001: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {427, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,10) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {427, X} > [java] . The selected victim is XID : 427. > [java] at > > org.apache.derby.iapi.error.StandardException.newException(StandardException.java:303) > [java] at > > org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:361) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:613) > [java] at > > org.apache.derby.impl.services.locks.AbstractPool.lockObject(AbstractPool.java:117) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentPool.lockObject(ConcurrentPool.java:28) > [java] at > > org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(RowLocking3.java:248) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:504) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:638) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(B2IRowLocking3.java:335) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(B2IRowLocking3.java:628) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(B2IRowLockingRR.java:112) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:304) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1809) > [java] at > > org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:680) > [java] at > > org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(IndexRowToBaseRowResultSet.java:373) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java:252) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java:136) > [java] at > > org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:372) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235) > [java] ... 14 more > [java] ERROR 2008-05-19 18:26:37,291 [pool-2-thread-5] Transaction: > Unexpected exception rolling back > [EMAIL PROTECTED]; continuing > with rollback > [java] javax.transaction.xa.XAException > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:581) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: Unable to rollback > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) > [java] at > > org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) > [java] ... 11 more > [java] Caused by: java.sql.SQLException: No current connection. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:103) > [java] at > org.apache.derby.impl.jdbc.Util.noCurrentConnection(Util.java:207) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(EmbedConnection.java:2100) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(EmbedConnection.java:2311) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.rollback(EmbedConnection.java:1694) > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) > [java] ... 13 more > [java] 18:26:37,291 ERROR [Transaction] Unexpected exception rolling > back [EMAIL PROTECTED]; > continuing with rollback > [java] javax.transaction.xa.XAException > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:581) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: Unable to rollback > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) > [java] at > > org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) > [java] ... 11 more > [java] Caused by: java.sql.SQLException: No current connection. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:103) > [java] at > org.apache.derby.impl.jdbc.Util.noCurrentConnection(Util.java:207) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(EmbedConnection.java:2100) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(EmbedConnection.java:2311) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.rollback(EmbedConnection.java:1694) > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) > [java] ... 13 more > [java] ERROR 2008-05-19 18:26:37,309 [pool-2-thread-5] > org.apache.ode.scheduler.simple.SimpleScheduler: Error while executing > transaction > [java] javax.transaction.SystemException > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:585) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] 18:26:37,309 ERROR [SimpleScheduler] Error while executing > transaction > [java] javax.transaction.SystemException > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:585) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] WARN 2008-05-19 18:26:37,343 [pool-2-thread-3] > org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener: > connectionErrorOccurred called with null > [java] java.sql.SQLException: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {428, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,11) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {428, X} > [java] . The selected victim is XID : 428. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125) > [java] at > > org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:301) > [java] at > > org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103) > [java] at > > org.apache.ode.scheduler.simple.JdbcDelegate.deleteJob(JdbcDelegate.java:92) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:339) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: ERROR 40001: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {428, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,11) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {428, X} > [java] . The selected victim is XID : 428. > [java] at > > org.apache.derby.iapi.error.StandardException.newException(StandardException.java:303) > [java] at > > org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:361) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:613) > [java] at > > org.apache.derby.impl.services.locks.AbstractPool.lockObject(AbstractPool.java:117) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentPool.lockObject(ConcurrentPool.java:28) > [java] at > > org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(RowLocking3.java:248) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:504) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:638) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(B2IRowLocking3.java:335) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(B2IRowLocking3.java:628) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(B2IRowLockingRR.java:112) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:304) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1809) > [java] at > > org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:680) > [java] at > > org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(IndexRowToBaseRowResultSet.java:373) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java:252) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java:136) > [java] at > > org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:372) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235) > [java] ... 14 more > [java] 18:26:37,343 WARN [GeronimoConnectionEventListener] > connectionErrorOccurred called with null > [java] java.sql.SQLException: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {428, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,11) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {428, X} > [java] . The selected victim is XID : 428. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) > [java] at > > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125) > [java] at > > org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652) > [java] at > > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:301) > [java] at > > org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103) > [java] at > > org.apache.ode.scheduler.simple.JdbcDelegate.deleteJob(JdbcDelegate.java:92) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:339) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: ERROR 40001: A lock could not be obtained due to a > deadlock, cycle of locks and waiters is: > [java] Lock : ROW, ODE_JOB, (2,6) > [java] Waiting XID : {428, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {426, X} > [java] Lock : ROW, ODE_JOB, (3,11) > [java] Waiting XID : {426, X} , SA, delete from ODE_JOB where jobid = > ? and nodeid = ? > [java] Granted XID : {428, X} > [java] . The selected victim is XID : 428. > [java] at > > org.apache.derby.iapi.error.StandardException.newException(StandardException.java:303) > [java] at > > org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:361) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:613) > [java] at > > org.apache.derby.impl.services.locks.AbstractPool.lockObject(AbstractPool.java:117) > [java] at > > org.apache.derby.impl.services.locks.ConcurrentPool.lockObject(ConcurrentPool.java:28) > [java] at > > org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(RowLocking3.java:248) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:504) > [java] at > > org.apache.derby.impl.store.access.heap.HeapController.lockRow(HeapController.java:638) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(B2IRowLocking3.java:335) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(B2IRowLocking3.java:628) > [java] at > > org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(B2IRowLockingRR.java:112) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:304) > [java] at > > org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(BTreeScan.java:1809) > [java] at > > org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:680) > [java] at > > org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(IndexRowToBaseRowResultSet.java:373) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:255) > [java] at > > org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java:252) > [java] at > > org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java:136) > [java] at > > org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:372) > [java] at > > org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235) > [java] ... 14 more > [java] ERROR 2008-05-19 18:26:37,400 [pool-2-thread-3] Transaction: > Unexpected exception rolling back > [EMAIL PROTECTED]; continuing > with rollback > [java] javax.transaction.xa.XAException > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:581) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: Unable to rollback > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) > [java] at > > org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) > [java] ... 11 more > [java] Caused by: java.sql.SQLException: No current connection. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:103) > [java] at > org.apache.derby.impl.jdbc.Util.noCurrentConnection(Util.java:207) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(EmbedConnection.java:2100) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(EmbedConnection.java:2311) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.rollback(EmbedConnection.java:1694) > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) > [java] ... 13 more > [java] 18:26:37,400 ERROR [Transaction] Unexpected exception rolling > back [EMAIL PROTECTED]; > continuing with rollback > [java] javax.transaction.xa.XAException > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:581) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] Caused by: Unable to rollback > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) > [java] at > > org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) > [java] at > > org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) > [java] ... 11 more > [java] Caused by: java.sql.SQLException: No current connection. > [java] at > > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87) > [java] at > org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:103) > [java] at > org.apache.derby.impl.jdbc.Util.noCurrentConnection(Util.java:207) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(EmbedConnection.java:2100) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(EmbedConnection.java:2311) > [java] at > > org.apache.derby.impl.jdbc.EmbedConnection.rollback(EmbedConnection.java:1694) > [java] at > > org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) > [java] ... 13 more > [java] ERROR 2008-05-19 18:26:37,409 [pool-2-thread-3] > org.apache.ode.scheduler.simple.SimpleScheduler: Error while executing > transaction > [java] javax.transaction.SystemException > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:585) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] 18:26:37,409 ERROR [SimpleScheduler] Error while executing > transaction > [java] javax.transaction.SystemException > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:585) > [java] at > > org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:475) > [java] at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:250) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:183) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > [java] at > > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > [java] at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > [java] at java.util.concurrent.FutureTask.run(FutureTask.java:123) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > [java] at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > [java] at java.lang.Thread.run(Thread.java:595) > [java] ERROR 2008-05-19 18:28:10,629 [btpool0-2] > org.apache.ode.axis2.ODEService: Timeout or execution error when waiting > for > response to MEX {MyRoleMex#hqejbhcnphr3ad07nejk0v [Client > hqejbhcnphr3ad07nejk0u] calling { > > http://j2ee.netbeans.org/wsdl/PrintAndMail}PrintAndMailService.PrintAndMailOperation(...)<http://j2ee.netbeans.org/wsdl/PrintAndMail%7DPrintAndMailService.PrintAndMailOperation%28...%29> > } > java.util.concurrent.TimeoutException: Message exchange > > [EMAIL PROTECTED] > out when waiting for a response! > [java] 18:28:10,629 ERROR [ODEService] Timeout or execution error when > waiting for response to MEX {MyRoleMex#hqejbhcnphr3ad07nejk0v [Client > hqejbhcnphr3ad07nejk0u] calling { > > http://j2ee.netbeans.org/wsdl/PrintAndMail}PrintAndMailService.PrintAndMailOperation(...)<http://j2ee.netbeans.org/wsdl/PrintAndMail%7DPrintAndMailService.PrintAndMailOperation%28...%29> > } > java.util.concurrent.TimeoutException: Message exchange > > [EMAIL PROTECTED] > out when waiting for a response! >
