[jboss-jira] [JBoss JIRA] (WFLY-10886) Poor JMS message sending throughput with remote broker and XA transactions
Jarek Przygódzki (JIRA)
issues at jboss.org
Mon Aug 20 03:42:00 EDT 2018
Jarek Przygódzki created WFLY-10886:
---------------------------------------
Summary: Poor JMS message sending throughput with remote broker and XA transactions
Key: WFLY-10886
URL: https://issues.jboss.org/browse/WFLY-10886
Project: WildFly
Issue Type: Bug
Components: EE
Affects Versions: 10.1.0.Final
Reporter: Jarek Przygódzki
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.5.0#75005)
More information about the jboss-jira
mailing list