[jboss-jira] [JBoss JIRA] (WFLY-10886) Poor JMS message sending throughput with remote broker and XA transactions
Parul Sharma (Jira)
issues at jboss.org
Fri Mar 20 02:52:45 EDT 2020
[ https://issues.redhat.com/browse/WFLY-10886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14004099#comment-14004099 ]
Parul Sharma commented on WFLY-10886:
-------------------------------------
Hi [~jarek.przygodzki],
Can you please let me know how to reproduce this issue?
Thanks,
Parul Sharma
> Poor JMS message sending throughput with remote broker and XA transactions
> --------------------------------------------------------------------------
>
> Key: WFLY-10886
> URL: https://issues.redhat.com/browse/WFLY-10886
> Project: WildFly
> Issue Type: Bug
> Components: EE
> Affects Versions: 10.1.0.Final
> Reporter: Jarek Przygódzki
> Priority: Major
> Labels: JMS
>
> JMS message sending throughput with remote broker and XA transactions is throttled. It happens because creation of InjectedJMSContext is synchronized on lock held for significant amount of time (transaction enlistment).
> {noformat}
> "EE-ManagedThreadFactory-default-Thread-9" #437 daemon prio=5 os_prio=0 tid=0x00007f2568250b70 nid=0x303 waiting on condition [0x00007f2540675000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x000000008a1d43d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2163)
> at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:376)
> - locked <0x000000008a1d4418> (a java.lang.Object)
> at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:304)
> at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.xaStart(ActiveMQSessionContext.java:503)
> at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.start(ClientSessionImpl.java:1372)
> at org.apache.activemq.artemis.ra.ActiveMQRAXAResource.start(ActiveMQRAXAResource.java:90)
> at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.start(ActiveMQXAResourceWrapperImpl.java:121)
> at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:662)
> at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:423)
> at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener$TransactionSynchronization.enlist(TxConnectionListener.java:986)
> at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:379)
> at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:553)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:928)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:750)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
> - locked <0x00000000f25b9738> (a java.util.HashSet)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:739)
> at org.apache.activemq.artemis.ra.ActiveMQRAConnectionFactoryImpl.validateUser(ActiveMQRAConnectionFactoryImpl.java:467)
> at org.apache.activemq.artemis.ra.ActiveMQRAConnectionFactoryImpl.createContext(ActiveMQRAConnectionFactoryImpl.java:420)
> at org.apache.activemq.artemis.ra.ActiveMQRAConnectionFactoryImpl.createContext(ActiveMQRAConnectionFactoryImpl.java:437)
> at org.wildfly.extension.messaging.activemq.deployment.injection.AbstractJMSContext.createContext(AbstractJMSContext.java:61)
> at org.wildfly.extension.messaging.activemq.deployment.injection.AbstractJMSContext.getContext(AbstractJMSContext.java:49)
> - locked <0x00000000f25b9378> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext)
> at sun.reflect.GeneratedMethodAccessor721.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
> at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - locked <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> "EE-ManagedThreadFactory-default-Thread-8" #391 daemon prio=5 os_prio=0 tid=0x00007f2648520df0 nid=0x2d5 waiting for monitor entry [0x00007f25446a4000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> "EE-ManagedThreadFactory-default-Thread-22" #466 daemon prio=5 os_prio=0 tid=0x00007f256c040710 nid=0x3d0 waiting for monitor entry [0x00007f2535852000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> "EE-ManagedThreadFactory-default-Thread-19" #463 daemon prio=5 os_prio=0 tid=0x00007f256c03c3f0 nid=0x3cd waiting for monitor entry [0x00007f2535b55000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createProducer(JMSContextWrapper.java:66)
> "EE-ManagedThreadFactory-default-Thread-18" #462 daemon prio=5 os_prio=0 tid=0x00007f256c03aaf0 nid=0x3cc waiting for monitor entry [0x00007f2535c56000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> "EE-ManagedThreadFactory-default-Thread-14" #451 daemon prio=5 os_prio=0 tid=0x00007f264c02c920 nid=0x332 waiting for monitor entry [0x00007f253755e000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> "EE-ManagedThreadFactory-default-Thread-13" #450 daemon prio=5 os_prio=0 tid=0x00007f2648527070 nid=0x331 waiting for monitor entry [0x00007f2538660000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
> - waiting to lock <0x0000000089fe0a70> (a org.wildfly.extension.messaging.activemq.deployment.injection.TransactedJMSContext$Proxy$_$$_WeldClientProxy)
> at org.wildfly.extension.messaging.activemq.deployment.injection.InjectedJMSContext.getDelegate(InjectedJMSContext.java:91)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list