You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by lexsoto <le...@gmail.com> on 2011/05/25 16:41:53 UTC

Transaction issues

Hello:

I am experiencing issues using AMQ 5.5 in a container environment (JBoss
5.1) with XA transactions. One of the errors I am seeing in the JBoss side
is:
2011-05-25 10:30:18,768 WARN 
[org.apache.activemq.ra.ActiveMQManagedConnection] (ActiveMQ Connection
Executor: tcp://usmia-jmsdev02.crcpress.local:61616) Connection failed:
javax.jms.JMSException: Transaction
'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
has not been started.
2011-05-25 10:30:18,790 WARN 
[org.jboss.resource.connectionmanager.TxConnectionManager] (ActiveMQ
Connection Executor: tcp://usmia-jmsdev02.crcpress.local:61616) Connection
error occured:
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@4c6cf7ba[state=NORMAL
mc=org.apache.activemq.ra.ActiveMQManagedConnection@960bc71 handles=0
lastUse=1306333818768 permit=false trackByTx=false
mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@2aff11d8
context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@4fec91f5
xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@5fbfb89
txSync=null]
javax.jms.JMSException: Transaction
'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
has not been started.
	at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
	at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1841)
	at
org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1762)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: javax.transaction.xa.XAException: Transaction
'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
has not been started.
	at
org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290)
	at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:211)
	at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
	at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
	at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
	at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
	at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
	at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
	at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
	... 1 more
 and in the AMQ server side is: 
2011-05-25 10:30:18,229 | WARN  | Async error occurred:
javax.transaction.xa.XAException: Transaction
'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
has not been started. | org.apache.ac
tivemq.broker.TransportConnection.Service | ActiveMQ Transport:
tcp:///10.151.4.74:34817
javax.transaction.xa.XAException: Transaction
'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
has not been started.
        at
org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290)
        at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:211)
        at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
        at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
        at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
        at java.lang.Thread.run(Thread.java:619)
Any help will be appreciated.

Thanks

--
View this message in context: http://activemq.2283324.n4.nabble.com/Transaction-issues-tp3549910p3549910.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

occasional ConcurrentModificationException when creating a queue consumer

Posted by Steve Angelovich <SA...@lgc.com>.
All,

Can anybody give me some ideas about why I get the ConcurrentModificationExcpetion below occasionally.  We are running with version 5.5.

The code that generates this exception is;

LOG.fine("Create response queue") ;
_session2 = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE) ;
_tempDest = _session2.createTemporaryQueue();
_responseConsumer = _session2.createConsumer(_tempDest);

The client is setting up an additional session, creating a temporary queue and then adding a consumer for use in a request/reply scenario.  The last line results in the exception below occasionally.

Thanks for any insights.
Steve



WARNING: !0: javax.jms.JMSException: java.util.ConcurrentModificationException
WARNING: !0: 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
WARNING: !0: 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1295)
WARNING: !0: 	at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1874)
WARNING: !0: 	at org.apache.activemq.ActiveMQMessageConsumer.(ActiveMQMessageConsumer.java:254)
WARNING: !0: 	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1116)
WARNING: !0: 	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1060)
WARNING: !0: 	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:973)
WARNING: !0: 	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:946)
WARNING: !0: 	at com.lgc.prowess.sitemanager.client.SiteManagerCommander.createResponseQueue(SiteManagerCommander.java:87)
WARNING: !0: 	at com.lgc.prowess.sitemanager.client.SiteManagerCommander.getNetDir(SiteManagerCommander.java:253)
WARNING: !0: 	at com.lgc.prowess.sitemanager.client.NetDirManager.(NetDirManager.java:26)
WARNING: !0: 	at com.lgc.prowess.sitemanager.client.SiteManagerClient.getNetDirManager(SiteManagerClient.java:325)
WARNING: !0: 	at com.lgc.prowess.sitemanager.netdir.NetDir.(NetDir.java:90)
WARNING: !0: 	at com.lgc.prowess.sitemanager.netdir.NetDir.get(NetDir.java:60)
WARNING: !0: 	at com.lgc.prowess.seisdata.PromaxDatasetFactory.open(PromaxDatasetFactory.java:52)
WARNING: !0: 	at com.lgc.prowess.seisdata.PromaxDatasetFactory.open(PromaxDatasetFactory.java:67)
WARNING: !0: 	at com.lgc.prowess.seisdata.SeismicDatasetFactory.open(SeismicDatasetFactory.java:118)
WARNING: !0: 	at com.lgc.prowess.seisdata.SeisUtil.openDataset(SeisUtil.java:161)
WARNING: !0: 	at com.lgc.prowess.tool.input.SmartInputTool.openDataset(SmartInputTool.java:857)
WARNING: !0: 	at com.lgc.prowess.tool.input.SmartInputTool.initCapsules(SmartInputTool.java:224)
WARNING: !0: 	at com.lgc.prowess.exec.ExecThread.(ExecThread.java:648)
WARNING: !0: 	at com.lgc.prowess.exec.ExecWorkerBase.initExecThread(ExecWorkerBase.java:339)
WARNING: !0: 	at com.lgc.prowess.exec.ExecWorkerBase.doInitPhase(ExecWorkerBase.java:125)
WARNING: !0: 	at com.lgc.prowess.exec.ExecMPIWorker.doInitPhase(ExecMPIWorker.java:231)
WARNING: !0: 	at com.lgc.prowess.exec.ExecMPIWorker.doWork(ExecMPIWorker.java:112)
WARNING: !0: 	at com.lgc.prowess.exec.ExecMPI.main(ExecMPI.java:37)
WARNING: !0: Caused by: java.util.ConcurrentModificationException
WARNING: !0: 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
WARNING: !0: 	at java.util.HashMap$EntryIterator.next(HashMap.java:834)
WARNING: !0: 	at java.util.HashMap$EntryIterator.next(HashMap.java:832)
WARNING: !0: 	at java.util.HashMap.putAllForCreate(HashMap.java:435)
WARNING: !0: 	at java.util.HashMap.(HashMap.java:225)
WARNING: !0: 	at org.slf4j.helpers.BasicMDCAdapter.getCopyOfContextMap(BasicMDCAdapter.java:130)
WARNING: !0: 	at org.slf4j.MDC.getCopyOfContextMap(MDC.java:176)
WARNING: !0: 	at org.apache.activemq.util.MDCHelper.getCopyOfContextMap(MDCHelper.java:30)
WARNING: !0: 	at org.apache.activemq.thread.PooledTaskRunner.(PooledTaskRunner.java:42)
WARNING: !0: 	at org.apache.activemq.thread.TaskRunnerFactory.createTaskRunner(TaskRunnerFactory.java:80)
WARNING: !0: 	at org.apache.activemq.broker.region.Topic.(Topic.java:89)
WARNING: !0: 	at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:99)
WARNING: !0: 	at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:473)
WARNING: !0: 	at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:123)
WARNING: !0: 	at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:301)
WARNING: !0: 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
WARNING: !0: 	at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:145)
WARNING: !0: 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
WARNING: !0: 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
WARNING: !0: 	at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
WARNING: !0: 	at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:502)
WARNING: !0: 	at org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:515)
WARNING: !0: 	at org.apache.activemq.advisory.AdvisoryBroker.fireConsumerAdvisory(AdvisoryBroker.java:464)
WARNING: !0: 	at org.apache.activemq.advisory.AdvisoryBroker.fireConsumerAdvisory(AdvisoryBroker.java:450)
WARNING: !0: 	at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:85)
WARNING: !0: 	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
WARNING: !0: 	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
WARNING: !0: 	at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
WARNING: !0: 	at org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:546)
WARNING: !0: 	at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:349)
WARNING: !0: 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
WARNING: !0: 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
WARNING: !0: 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
WARNING: !0: 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
WARNING: !0: 	at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
WARNING: !0: 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
WARNING: !0: 	at org.apache.activemq.transport.nio.NIOTransport.serviceRead(NIOTransport.java:129)
WARNING: !0: 	at org.apache.activemq.transport.nio.NIOTransport.access$000(NIOTransport.java:44)
WARNING: !0: 	at org.apache.activemq.transport.nio.NIOTransport$1.onSelect(NIOTransport.java:68)
WARNING: !0: 	at org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:94)
WARNING: !0: 	at org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:119)
WARNING: !0: 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
WARNING: !0: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
WARNING: !0: 	at java.lang.Thread.run(Thread.java:619)

----------------------------------------------------------------------
This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient.  Any review, use, distribution, or disclosure by others is strictly prohibited.  If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message.

Re: Transaction issues

Posted by Gary Tully <ga...@gmail.com>.
I would start with a simple use case and verify from trace level
logging that everything is as expected with respect to transaction
demarcation and connection pooling.

But note, that the RA should do its own pooling and transaction
management as the contracts between j2e and a resource manager (RAR)
cover all that stuff.

On 27 May 2011 14:34, lexsoto <le...@gmail.com> wrote:
> I suspect that, because I am using a connection pool with the RA adapter,
> somewhere somehow the transaction information is not cleared when the
> connection is returned to the pool. In another post earlier, I had another
> error:
> Caused by: javax.jms.JMSException: The resource is allready being used in
> transaction context.
>        at
> org.apache.activemq.ra.ManagedTransactionContext.setUseSharedTxContext(ManagedTransactionContext.java:47
> which is not exactly the same, but it seems related.
>
> I will do more testing reducing the number of connections in the pool.
> I am really looking for pointers, and hints that help me investigate.
>
> Does it sound I am in the right path?
>
> Thanks
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Transaction-issues-tp3549910p3555346.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: Transaction issues

Posted by lexsoto <le...@gmail.com>.
I suspect that, because I am using a connection pool with the RA adapter,
somewhere somehow the transaction information is not cleared when the
connection is returned to the pool. In another post earlier, I had another
error:
Caused by: javax.jms.JMSException: The resource is allready being used in
transaction context.
        at
org.apache.activemq.ra.ManagedTransactionContext.setUseSharedTxContext(ManagedTransactionContext.java:47
which is not exactly the same, but it seems related.

I will do more testing reducing the number of connections in the pool.  
I am really looking for pointers, and hints that help me investigate.  

Does it sound I am in the right path?

Thanks

--
View this message in context: http://activemq.2283324.n4.nabble.com/Transaction-issues-tp3549910p3555346.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Transaction issues

Posted by Gary Tully <ga...@gmail.com>.
we would need some more context, but that exception indicates that the
transaction associated with that session has already completed.
Trace level logging on both activemq and jboss may help diagnose
exactly what is going on.

And ideally, if you could provide a test case that can demonstrate the
problem at the application level it would be great.


On 25 May 2011 15:41, lexsoto <le...@gmail.com> wrote:
> Hello:
>
> I am experiencing issues using AMQ 5.5 in a container environment (JBoss
> 5.1) with XA transactions. One of the errors I am seeing in the JBoss side
> is:
> 2011-05-25 10:30:18,768 WARN
> [org.apache.activemq.ra.ActiveMQManagedConnection] (ActiveMQ Connection
> Executor: tcp://usmia-jmsdev02.crcpress.local:61616) Connection failed:
> javax.jms.JMSException: Transaction
> 'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
> has not been started.
> 2011-05-25 10:30:18,790 WARN
> [org.jboss.resource.connectionmanager.TxConnectionManager] (ActiveMQ
> Connection Executor: tcp://usmia-jmsdev02.crcpress.local:61616) Connection
> error occured:
> org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@4c6cf7ba[state=NORMAL
> mc=org.apache.activemq.ra.ActiveMQManagedConnection@960bc71 handles=0
> lastUse=1306333818768 permit=false trackByTx=false
> mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@2aff11d8
> context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@4fec91f5
> xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@5fbfb89
> txSync=null]
> javax.jms.JMSException: Transaction
> 'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
> has not been started.
>        at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>        at
> org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1841)
>        at
> org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1762)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.transaction.xa.XAException: Transaction
> 'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
> has not been started.
>        at
> org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290)
>        at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:211)
>        at
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
>        at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
>        at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
>        at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
>        at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>        at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
>        at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
>        at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
>        at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
>        ... 1 more
>  and in the AMQ server side is:
> 2011-05-25 10:30:18,229 | WARN  | Async error occurred:
> javax.transaction.xa.XAException: Transaction
> 'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
> has not been started. | org.apache.ac
> tivemq.broker.TransportConnection.Service | ActiveMQ Transport:
> tcp:///10.151.4.74:34817
> javax.transaction.xa.XAException: Transaction
> 'XID:131075:312d613937303434613a646365393a34646461626262363a326236646138:613937303434613a646365393a34646461626262363a326236646139'
> has not been started.
>        at
> org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:290)
>        at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:211)
>        at
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
>        at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
>        at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
>        at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
>        at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>        at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
>        at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
>        at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
>        at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
>        at java.lang.Thread.run(Thread.java:619)
> Any help will be appreciated.
>
> Thanks
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Transaction-issues-tp3549910p3549910.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com