geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zakharov, Vasily M" <vasily.m.zakha...@intel.com>
Subject SQL transaction deadlock
Date Thu, 25 May 2006 23:02:00 GMT
Hi, all,

Here's another strange transaction rollback I'm having while working
with Derby through Geronimo.

The question is, if this is an application problem that makes
inconsistent requests, or it could be a hole in Geronimo/TranQL/Derby
connector/database?

javax.ejb.TransactionRolledbackLocalException
	at
org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolic
y.java:123)
	at
org.openejb.transaction.TransactionContextInterceptor.invoke(Transaction
ContextInterceptor.java:80)
	at
org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor
.java:82)
	at
org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
	at
org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.ja
va:129)
	at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$1414c90a.create(<
generated>)
	at
org.spec.jappserver.mfg.workorderses.ejb.WorkOrderSesEJB.scheduleWorkOrd
er(WorkOrderSesEJB.java:91)
	at
org.spec.jappserver.mfg.workorderses.ejb.WorkOrderSesEJB$$FastClassByCGL
IB$$278087a9.invoke(<generated>)
	at
org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperat
ion.java:90)
	at
org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)
	at
org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java
:72)
	at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(Compo
nentContextInterceptor.java:56)
	at
org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInter
ceptor.java:81)
	at
org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolic
y.java:119)
	at
org.openejb.transaction.TransactionContextInterceptor.invoke(Transaction
ContextInterceptor.java:80)
	at
org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceIn
terceptor.java:98)
	at
org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolic
y.java:140)
	at
org.openejb.transaction.TransactionContextInterceptor.invoke(Transaction
ContextInterceptor.java:80)
	at
org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor
.java:82)
	at
org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
	at
org.openejb.server.ejbd.EjbRequestHandler.invoke(EjbRequestHandler.java:
297)
	at
org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(Ej
bRequestHandler.java:325)
	at
org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandl
er.java:196)
	at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150)
	at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
	at
org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke(<ge
nerated>)
	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
	at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInv
oker.java:38)
	at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.j
ava:118)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.jav
a:800)
	at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
	at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperation
Invoker.java:36)
	at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyM
ethodInterceptor.java:96)
	at
org.activeio.xnet.ServerService$$EnhancerByCGLIB$$e7051bdf.service(<gene
rated>)
	at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
	at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(Threa
dPool.java:138)
	at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:534)
Caused by: javax.ejb.EJBException: Unable to load data for field
	at
org.tranql.ejb.CMPFieldFaultTransform.get(CMPFieldFaultTransform.java:66
)
	at org.tranql.ejb.OneToManyCMR.set(OneToManyCMR.java:77)
	at
org.tranql.ejb.SingleValuedCMRAccessor.set(SingleValuedCMRAccessor.java:
66)
	at
org.openejb.entity.cmp.CMPSetter.invokeInstance(CMPSetter.java:74)
	at
org.openejb.entity.cmp.CMPMethodInterceptor.intercept(CMPMethodIntercept
or.java:75)
	at
org.spec.jappserver.mfg.workorderent.ejb.WorkOrderCmp20EJB$$EnhancerByCG
LIB$$438dc6db.setAssembly(<generated>)
	at
org.spec.jappserver.mfg.workorderent.ejb.WorkOrderCmp20EJB.ejbPostCreate
(WorkOrderCmp20EJB.java:239)
	at
org.spec.jappserver.mfg.workorderent.ejb.WorkOrderCmp20EJB$$FastClassByC
GLIB$$5801b0f0.invoke(<generated>)
	at
org.openejb.entity.cmp.CMPCreateMethod.execute(CMPCreateMethod.java:213)
	at
org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java
:72)
	at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(Compo
nentContextInterceptor.java:56)
	at
org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInter
ceptor.java:81)
	at
org.openejb.entity.EntityInstanceInterceptor.invoke(EntityInstanceInterc
eptor.java:136)
	at
org.openejb.entity.cmp.InTxCacheInterceptor.invoke(InTxCacheInterceptor.
java:90)
	at
org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolic
y.java:119)
	... 38 more
Caused by: org.tranql.ql.QueryException: Error executing statement:
SELECT T.WO_NUMBER FROM M_WORKORDER T WHERE T.WO_ASSEMBLY_ID = ?
	at
org.tranql.sql.jdbc.JDBCQueryCommand.execute(JDBCQueryCommand.java:79)
	at
org.tranql.ejb.MultiValuedCMRFaultHandler.fieldFault(MultiValuedCMRFault
Handler.java:65)
	at
org.tranql.ejb.CMPFieldFaultTransform.get(CMPFieldFaultTransform.java:54
)
	... 52 more
Caused by: SQL Exception: A lock could not be obtained due to a
deadlock, cycle of locks and waiters is:
Lock : ROW, M_WORKORDER, (3,30)
  Waiting XID : {5683, S} , APP, SELECT T.WO_NUMBER FROM M_WORKORDER T
WHERE T.WO_ASSEMBLY_ID = ?
  Granted XID : {5684, X} 
Lock : ROW, M_WORKORDER, (3,31)
  Waiting XID : {5684, S} , APP, SELECT T.WO_NUMBER FROM M_WORKORDER T
WHERE T.WO_ASSEMBLY_ID = ?
  Granted XID : {5683, X} 
. The selected victim is XID : 5683.
	at
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
	at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Un
known Source)
	at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unkno
wn Source)
	at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
	at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
	at
org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(Unknow
n Source)
	at
org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown
Source)
	at
org.tranql.connector.jdbc.ResultSetHandle.next(ResultSetHandle.java:791)
	at
org.tranql.sql.jdbc.JDBCQueryCommand.execute(JDBCQueryCommand.java:69)
	... 54 more

Vasily Zakharov
Intel Middleware Products Division

Mime
View raw message