Hi Radhakrishna,

This is something to do with a deadlock on the DB2 table that your query is trying to execute.

You will need to use the DB2 tools find the root cause of the deadlock at the time this error occurs - Just google 'DB2 Deadlock' and see if you can tune the table (flagging it as volatile may help).

Things like this happen when several processes are trying to get a lock on the table at the same time - Check to see if you have other processes that may be using this table.

Andy.

On 19/12/2014 11:35, Radhakrishna Kalyan wrote:
Hi,

We have deployed our application for the first time in our Production env
yesterday, and we got the following exception.

We have Asynchronous schedule job running every day at a given time say
14.00.
The method performs a query operation on a Transaction table and create a
text file with those transactions found for a given criteria.
After creating the text file the method also create an entry in another
table called Batch table identifying which batch files have been created.

Also a rest interface is exposed to search the Batch table and list out the
entries and find out which batch files are created.


Here is the exception log stacktrace


dec 18, 2014 2:20:13 EM
org.apache.openejb.core.transaction.EjbTransactionUtil
handleSystemException
SEVERE: EjbTransactionUtil.handleSystemException: The transaction has
been marked rollback only because the bean encountered a
non-application exception
:org.hibernate.exception.LockAcquisitionException : could not execute
query
javax.ejb.EJBTransactionRolledbackException: The transaction has been
marked rollback only because the bean encountered a non-application
exception :org.hibernate.exception.LockAcquisitionException : could
not execute query
         at 
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:381)
         at 
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:312)
         at 
com.netgiro.centralizedbatch.db.dao.BatchOrderDao$$LocalBeanProxy.getCount(com/netgiro/centralizedbatch/db/dao/BatchOrderDao.java)
         at 
com.netgiro.centralizedbatch.rest.resources.BatchOrdersResource.searchBatchOrders(BatchOrdersResource.java:163)
         at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
com.netgiro.centralizedbatch.interceptors.AuditLogInterceptor.aroundInvoke(AuditLogInterceptor.java:22)
         at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
         at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
         at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
         at 
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
         at 
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
         at 
org.apache.openejb.util.proxy.ProxyEJB$Handler.invoke(ProxyEJB.java:74)
         at 
com.netgiro.centralizedbatch.rest.resources.BatchOrdersResource$$LocalBeanProxy.searchBatchOrders(com/netgiro/centralizedbatch/rest/resources/BatchOrdersResource.java)
         at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.server.cxf.rs.OpenEJBEJBInvoker.performInvocation(OpenEJBEJBInvoker.java:89)
         at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
         at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:205)
         at 
org.apache.openejb.server.cxf.rs.OpenEJBEJBInvoker.invoke(OpenEJBEJBInvoker.java:62)
         at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:102)
         at 
org.apache.openejb.server.cxf.rs.AutoJAXRSInvoker.invoke(AutoJAXRSInvoker.java:64)
         at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
         at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
         at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
         at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
         at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
         at 
org.apache.openejb.server.cxf.rs.CxfRsHttpListener.onMessage(CxfRsHttpListener.java:187)
         at 
org.apache.openejb.server.httpd.OpenEJBHttpRegistry$ClassLoaderHttpListener.onMessage(OpenEJBHttpRegistry.java:111)
         at 
org.apache.openejb.server.httpd.HttpListenerRegistry.onMessage(HttpListenerRegistry.java:71)
         at 
org.apache.openejb.server.httpd.OpenEJBHttpServer.process(OpenEJBHttpServer.java:261)
         at 
org.apache.openejb.server.httpd.OpenEJBHttpServer.processRequest(OpenEJBHttpServer.java:194)
         at 
org.apache.openejb.server.httpd.OpenEJBHttpServer.service(OpenEJBHttpServer.java:109)
         at 
org.apache.openejb.server.httpd.HttpEjbServer.service(HttpEjbServer.java:63)
         at 
org.apache.openejb.server.ServerServiceFilter.service(ServerServiceFilter.java:65)
         at 
org.apache.openejb.server.ServerServiceFilter.service(ServerServiceFilter.java:65)
         at org.apache.openejb.server.ServiceStats.service(ServiceStats.java:54)
         at 
org.apache.openejb.server.ServerServiceFilter.service(ServerServiceFilter.java:65)
         at 
org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:93)
         at 
org.apache.openejb.server.ServerServiceFilter.service(ServerServiceFilter.java:65)
         at 
org.apache.openejb.server.ServicePool.access$201(ServicePool.java:39)
         at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:198)
         at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
         at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
         at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.LockAcquisitionException: could not
execute query
         at 
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:94)
         at 
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
         at 
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
         at org.hibernate.loader.Loader.doList(Loader.java:2551)
         at org.hibernate.loader.Loader.doList(Loader.java:2534)
         at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2364)
         at org.hibernate.loader.Loader.list(Loader.java:2359)
         at 
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:124)
         at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1587)
         at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374)
         at 
org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:396)
         at 
com.netgiro.centralizedbatch.db.dao.BatchOrderDao.getCount(BatchOrderDao.java:223)
         at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
com.netgiro.centralizedbatch.interceptors.AuditLogInterceptor.aroundInvoke(AuditLogInterceptor.java:22)
         at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
         at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
         at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:606)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
         at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
         at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
         at 
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
         at 
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
         at 
org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:308)
         at 
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:303)
         at 
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92)
         at 
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:308)
         ... 57 more
Caused by: com.ibm.db2.jcc.am.po: DB2 SQL Error: SQLCODE=-911,
SQLSTATE=40001, SQLERRMC=68, DRIVER=4.7.112
         at com.ibm.db2.jcc.am.dd.a(dd.java:663)
         at com.ibm.db2.jcc.am.dd.a(dd.java:60)
         at com.ibm.db2.jcc.am.dd.a(dd.java:127)
         at com.ibm.db2.jcc.am.dm.b(dm.java:3751)
         at com.ibm.db2.jcc.t4.eb.h(eb.java:278)
         at com.ibm.db2.jcc.t4.eb.a(eb.java:239)
         at com.ibm.db2.jcc.t4.eb.c(eb.java:31)
         at com.ibm.db2.jcc.t4.u.a(u.java:32)
         at com.ibm.db2.jcc.t4.j.Zb(j.java:259)
         at com.ibm.db2.jcc.am.dm.X(dm.java:3544)
         at com.ibm.db2.jcc.t4.d.f(d.java:1891)
         at com.ibm.db2.jcc.am.ic.a(ic.java:201)
         at com.ibm.db2.jcc.t4.d.a(d.java:109)
         at com.ibm.db2.jcc.am.dm.c(dm.java:367)
         at com.ibm.db2.jcc.am.dm.next(dm.java:294)
         at 
org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
         at 
org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
         at org.hibernate.loader.Loader.processResultSet(Loader.java:946)
         at org.hibernate.loader.Loader.doQuery(Loader.java:917)
         at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
         at org.hibernate.loader.Loader.doList(Loader.java:2548)
         ... 90 more

dec 18, 2014 2:21:12 EM org.apache.openejb.core.ivm.EjbObjectProxyHandler$1 call
SEVERE: EjbObjectProxyHandler: Asynchronous call to
'BatchJobSchedulerService' on 'scheduleBatchOrder' failed
org.apache.openejb.ApplicationException:
org.apache.openejb.core.transaction.TransactionRolledbackException:
Transaction was rolled back, presumably because setRollbackOnly was
called during a synchronization: Transaction was rolled back,
presumably because setRollbackOnly was called during a synchronization
         at 
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:339)
         at 
org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:76)
         at 
org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:77)
         at 
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:246)
         at 
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
         at 
org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:308)
         at 
org.apache.openejb.core.ivm.EjbObjectProxyHandler$1.call(EjbObjectProxyHandler.java:284)
         at 
org.apache.openejb.async.AsynchronousPool$AsynchronousCall.call(AsynchronousPool.java:111)
         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
         at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
         at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
         at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.openejb.core.transaction.TransactionRolledbackException:
Transaction was rolled back, presumably because setRollbackOnly was
called during a synchronization
         at 
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:338)
         ... 11 more
Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback
         at 
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
         at 
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
         at 
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:331)
         ... 11 more
Caused by: java.lang.Exception: Transaction has timed out
         at 
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
         ... 13 more


--
  Andy Gumbrecht
  https://twitter.com/AndyGeeDe
  http://www.tomitribe.com

Reply via email to