[
https://issues.apache.org/jira/browse/AMQ-4536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Valentina closed AMQ-4536.
--------------------------
Resolution: Duplicate
> activemq configured with leveldb commit fail when accessed by PutGet f-tion
> from IBM Perf Harness
> -------------------------------------------------------------------------------------------------
>
> Key: AMQ-4536
> URL: https://issues.apache.org/jira/browse/AMQ-4536
> Project: ActiveMQ
> Issue Type: Bug
> Components: activemq-leveldb-store, Broker
> Affects Versions: 5.8.0
> Environment: RHEL 6.4
> Reporter: Valentina
>
> Poor performance and exceptions thrown when leveldb is configured with
> activemq while performance is measured with IBM Performance Harness. We use
> default configuration of activemq except that leveldb is used instead of
> kahadb.
> Test scenario uses jms.r11.PutGet which sends a message then receives one
> from the same queue. Normal usage is with correlation identifier to ensure
> the same message is received.
> Exception thrown by the broker :
> WARN | Store COMMIT FAILED:
> scala.MatchError: null
> at
> org.apache.activemq.leveldb.DelayableUOW.dequeue(DBManager.scala:282)
> at
> org.apache.activemq.leveldb.LevelDBStore$LevelDBMessageStore.doRemove(LevelDBStore.scala:578)
> at
> org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$3.commit(LevelDBStore.scala:328)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1$$anonfun$apply$10.apply(LevelDBStore.scala:381)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1$$anonfun$apply$10.apply(LevelDBStore.scala:380)
> at scala.collection.immutable.List.foreach(List.scala:309)
> at
> scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
> at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1.apply(LevelDBStore.scala:380)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1.apply(LevelDBStore.scala:379)
> at
> org.apache.activemq.leveldb.LevelDBStore.withUow(LevelDBStore.scala:536)
> at
> org.apache.activemq.leveldb.LevelDBStore.commit(LevelDBStore.scala:379)
> at
> org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:72)
> at
> org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:263)
> at
> org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:456)
> at
> org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:329)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184)
> 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:288)
> 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:722)
> The transaction does not exist
> Exception thrown by the client:
> PutGet1: Uncaught exception.
> javax.jms.JMSException: STORE COMMIT FAILED: Transaction rolled back.
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1391)
> at
> org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:748)
> at
> org.apache.activemq.TransactionContext.commit(TransactionContext.java:322)
> at
> org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:561)
> at
> com.ibm.uk.hursley.perfharness.jms.r11.PutGet.oneIteration(PutGet.java:97)
> at
> com.ibm.uk.hursley.perfharness.WorkerThread.pace(WorkerThread.java:247)
> at
> com.ibm.uk.hursley.perfharness.WorkerThread.pace(WorkerThread.java:434)
> at
> com.ibm.uk.hursley.perfharness.jms.r11.JMS11WorkerThread.run(JMS11WorkerThread.java:286)
> at com.ibm.uk.hursley.perfharness.jms.r11.PutGet.run(PutGet.java:86)
> Caused by: javax.transaction.xa.XAException: STORE COMMIT FAILED: Transaction
> rolled back.
> at
> org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:77)
> at
> org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:263)
> at
> org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:456)
> at
> org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:329)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184)
> 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:288)
> 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:722)
> Caused by: java.lang.Throwable: scala.MatchError: null
> at
> org.apache.activemq.leveldb.DelayableUOW.dequeue(DBManager.scala:282)
> at
> org.apache.activemq.leveldb.LevelDBStore$LevelDBMessageStore.doRemove(LevelDBStore.scala:578)
> at
> org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$3.commit(LevelDBStore.scala:328)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1$$anonfun$apply$10.apply(LevelDBStore.scala:381)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1$$anonfun$apply$10.apply(LevelDBStore.scala:380)
> at scala.collection.immutable.List.foreach(List.scala:309)
> at
> scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
> at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1.apply(LevelDBStore.scala:380)
> at
> org.apache.activemq.leveldb.LevelDBStore$$anonfun$commit$1.apply(LevelDBStore.scala:379)
> at
> org.apache.activemq.leveldb.LevelDBStore.withUow(LevelDBStore.scala:536)
> at
> org.apache.activemq.leveldb.LevelDBStore.commit(LevelDBStore.scala:379)
> at
> org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:72)
> ... 13 more
> PutGet1: STOP
> After the test finished, we had several messages left in queues. We tried to
> read them with a different client and not in all cases we succeeded. However,
> after the broker restart, we could read the rest of messages.
> Our results for performance testing can be found at
> http://wiki.test.redhat.com/MRG/Messaging/PerformanceTesting/releases/m26_m29
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira