activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (AMQ-4898) LocalTransaction PRE COMMIT FAILED: java.util.ConcurrentModificationException
Date Wed, 20 Nov 2013 15:57:46 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13827783#comment-13827783
] 

Gary Tully edited comment on AMQ-4898 at 11/20/13 3:57 PM:
-----------------------------------------------------------

using org.apache.activemq.ActiveMQConnectionFactory#setAlwaysSyncSend will also avoid this


was (Author: gtully):
using alwaysSendSync will also avoid this

> LocalTransaction PRE COMMIT FAILED:  java.util.ConcurrentModificationException
> ------------------------------------------------------------------------------
>
>                 Key: AMQ-4898
>                 URL: https://issues.apache.org/jira/browse/AMQ-4898
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.9.0
>            Reporter: Gary Tully
>             Fix For: 5.10.0
>
>
> Noticed this once from org.apache.activemq.bugs.AMQ4485NetworkOfXBrokersWithNDestsFanoutTransactionTest
> the asyncSend that registers a sync in doMessageSend and transaction completion needs
some coordination.
> {code}
> 2013-11-20 12:32:12,324 [0.1:61149@61602] - WARN  LocalTransaction               - PRE
COMMIT FAILED: 
> java.util.ConcurrentModificationException
> 	at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
> 	at java.util.AbstractList$Itr.next(AbstractList.java:343)
> 	at org.apache.activemq.transaction.Transaction.fireBeforeCommit(Transaction.java:118)
> 	at org.apache.activemq.transaction.Transaction.doPreCommit(Transaction.java:180)
> 	at org.apache.activemq.transaction.Transaction$1.call(Transaction.java:49)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1197)
> 	at org.apache.activemq.store.kahadb.MessageDatabase$10.visit(MessageDatabase.java:1062)
> 	at org.apache.activemq.store.kahadb.data.KahaCommitCommand.visit(KahaCommitCommand.java:130)
> 	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1044)
> 	at org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:951)
> 	at org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:931)
> 	at org.apache.activemq.store.kahadb.KahaDBTransactionStore.commit(KahaDBTransactionStore.java:297)
> 	at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:70)
> 	at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:253)
> 	at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:112)
> 	at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:427)
> 	at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:295)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:152)
> 	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
> 	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
> 	at java.lang.Thread.run(Thread.java:695){code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message