[
http://jira.jboss.com/jira/browse/JBTM-207?page=all ]
Phillip Thurmond reopened JBTM-207:
-----------------------------------
Still seeing significant contention in Transaction Reaper:
"http-10.68.0.133-8080-14" daemon prio=1 tid=0xcd5a0898 nid=0x426f waiting for
monitor entry [0xc3d32000..0xc3d33130]
at
com.arjuna.ats.internal.arjuna.template.OrderedList.insert(OrderedList.java:84)
- waiting to lock <0xd44324b8> (a
com.arjuna.ats.internal.arjuna.template.OrderedList)
at
com.arjuna.ats.arjuna.coordinator.TransactionReaper.insert(TransactionReaper.java:339)
at com.arjuna.ats.arjuna.AtomicAction.begin(AtomicAction.java:147)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.<init>(TransactionImple.java:116)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:98)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:77)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:73)
... ...
"http-10.68.0.133-8080-13" daemon prio=1 tid=0xc9799470 nid=0x426e waiting for
monitor entry [0xc49cb000..0xc49cc1b0]
at com.arjuna.ats.internal.arjuna.template.OrderedList.head(OrderedList.java:271)
- waiting to lock <0xd44324b8> (a
com.arjuna.ats.internal.arjuna.template.OrderedList)
at
com.arjuna.ats.internal.arjuna.template.OrderedListIterator.<init>(OrderedListIterator.java:51)
at
com.arjuna.ats.arjuna.coordinator.TransactionReaper.remove(TransactionReaper.java:363)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:185)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1256)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
Contention in TransactionReaper
-------------------------------
Key: JBTM-207
URL:
http://jira.jboss.com/jira/browse/JBTM-207
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.2
Environment: Linux, JDK 5
Reporter: Phillip Thurmond
Assigned To: Mark Little
Fix For: 4.2.3
Under heavy load I am seeing a lot of contention on the TransactionReaper object. The
remove() method has a large synchronized block. Could this synchronization be decreased
or made to be more fine-grained?
Stack trace:
"http-10.68.0.196-8080-247" daemon prio=1 tid=0x0000002af2b7b030 nid=0x351a
waiting for monitor entry [0x000000005a95a000..0x000000005a95cb30]
at
com.arjuna.ats.arjuna.coordinator.TransactionReaper.remove(TransactionReaper.java:318)
- waiting to lock <0x0000002aa7dc7248> (a
com.arjuna.ats.arjuna.coordinator.TransactionReaper)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:185)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1204)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:105)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
at
org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
at $Proxy109.update(Unknown Source)
at TodoDaoInt$$FastClassByCGLIB$$6f227f03.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:74)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
at
org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:40)
at sun.reflect.GeneratedMethodAccessor362.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
at
org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
at
org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
at
org.jboss.seam.intercept.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:83)
at
org.jboss.seam.intercept.ClientSideInterceptor.intercept(ClientSideInterceptor.java:52)
at
org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$e1e24e7.update(<generated>)
at sun.reflect.GeneratedMethodAccessor422.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.el.parser.AstValue.invoke(AstValue.java:131)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
at
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:95)
at javax.faces.component.UICommand.broadcast(UICommand.java:383)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:448)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira