How to handle error - read lock for /nnnn/root/0 could not be acquired by GlobalTransaction:<null>:12 after 15000 ms. Locks: Read lock owners: [] (Doc ID 747235.1)

Last updated on MARCH 20, 2017

Applies to:

Oracle Communications Order and Service Management - Version 7.0.0 to 7.2.4 [Release 7.0.0 to 7.2]
Information in this document applies to any platform.
Review relevance Oct 15, 2015
Review relevance March 20, 2017

Goal

OSM Orders are cached in memory using JBoss, when there is request to open an order, JBoss will first try to acquire read lock on the order, however if there is on-going transaction for this order (for example, saving order/transition order) JBoss will wait for certain time (by default 15 seconds) in the hope that the pending transaction will finish during the wait;  if the transaction is not finished after the wait, JBoss will throw this exception (In this example the order is order 710, this order id will change). This is a sample error, your particular error may be different based on the version of OSM that you are using.

<04-Nov-2008 11:31:13,251 EST AM> <ERROR> <lock.IdentityLock> <ExecuteThread: '12' for queue: 'oms.web'> <read lock for /710/root/0 could not be
acquired by GlobalTransaction:<null>:38 after 15000 ms. Locks: Read lock owners: []
Write lock owner: GlobalTransaction:<null>:35
, lock info: write owner=GlobalTransaction:<null>:35 (org.jboss.cache.lock.LockStrategyReadCommitted@1c5f268)>
<Nov 4, 2008 11:31:13 AM EST> <Error> <oms> <000000> <lock owner: GlobalTransaction:<null>:35
, lock info: write owner=GlobalTransaction:<null>:35 (org.jboss.cache.lock.LockStrategyReadCommitted@1c5f268)>
<04-Nov-2008 11:31:13,252 EST AM> <INFO> <interceptors.TxInterceptor> <ExecuteThread: '12' for queue: 'oms.web'> <There was a problem handling t
his request>
org.jboss.cache.lock.TimeoutException: failure acquiring lock: fqn=/710/root/0, caller=GlobalTransaction:<null>:38, lock=write owner=GlobalTrans
action:<null>:35 (org.jboss.cache.lock.LockStrategyReadCommitted@1c5f268)
at org.jboss.cache.Node.acquire(Node.java:407)
at org.jboss.cache.interceptors.PessimisticLockInterceptor.lock(PessimisticLockInterceptor.java:231)
at org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:166)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:345)
at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:156)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:183)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5520)
at org.jboss.cache.TreeCache.get(TreeCache.java:3367)
at com.mslv.oms.handler.order.cache.jboss.JBossOrderCacheManager.a(Unknown Source)
at com.mslv.oms.handler.order.cache.jboss.JBossOrderCacheManager.a(Unknown Source)
at com.mslv.oms.handler.order.cache.jboss.JBossOrderCacheManager.a(Unknown Source)
at com.mslv.oms.handler.order.cache.jboss.JBossOrderCacheManager.a(Unknown Source)
at com.mslv.oms.handler.order.cache.AbstractOrderCacheManager.getOrderByHistoryId(Unknown Source)
at com.mslv.oms.handler.order.f.a(Unknown Source)
at com.mslv.oms.handler.getorder.GetOrderHandlerEJB.process(Unknown Source)
at com.mslv.oms.handler.a.processRequest(Unknown Source)
at com.mslv.oms.jsp.processor.RequestProcessorSupport.a(Unknown Source)
at com.mslv.oms.jsp.processor.RequestProcessorSupport.processRequest(Unknown Source)
at com.mslv.oms.jsp.processor.RequestProcessorSupport.processRequest(Unknown Source)
at com.mslv.oms.jsp.processor.RequestProcessorSupport.a(Unknown Source)
at com.mslv.oms.jsp.processor.RequestProcessorSupport.a(Unknown Source)
at com.mslv.oms.jsp.processor.OrderEditorProcessor.a(Unknown Source)
at com.mslv.oms.jsp.processor.OrderEditorProcessor.b(Unknown Source)
at com.mslv.oms.jsp.processor.OrderEditorProcessor.c(Unknown Source)
at com.mslv.oms.jsp.processor.OrderEditorProcessor.processRequest(Unknown Source)
at com.mslv.oms.jsp.controller.RequestController.a(Unknown Source)
at com.mslv.oms.jsp.controller.RequestController.a(Unknown Source)
at com.mslv.oms.jsp.controller.RequestController.processRequest(Unknown Source)
at com.mslv.oms.jsp.controller.MainServlet.a(Unknown Source)
at com.mslv.oms.jsp.controller.MainServlet.doProcess(Unknown Source)
at com.mslv.oms.jsp.controller.MainServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3211)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117) 
  

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms