[jboss-jira] [JBoss JIRA] Reopened: (JBTM-207) Contention in TransactionReaper

Phillip Thurmond (JIRA) jira-events at lists.jboss.org
Mon Apr 23 15:10:30 EDT 2007


     [ 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

        



More information about the jboss-jira mailing list