[
https://issues.apache.org/jira/browse/AMQ-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Valentina updated AMQ-4535:
---------------------------
Attachment: activemq.log
IBMPH.out
Hi,
here are the logs from the long test
in the end the whole test hangs
Kind Regards,
Valiantsina Hubeika
MRG Associate Quality Engineer
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
> activemq configured with leveldb commit fail when accessed by PutGet f-tion
> from IBM Perf Harness
> -------------------------------------------------------------------------------------------------
>
> Key: AMQ-4535
> URL: https://issues.apache.org/jira/browse/AMQ-4535
> Project: ActiveMQ
> Issue Type: Bug
> Components: activemq-leveldb-store, Broker
> Affects Versions: 5.8.0
> Environment: RHEL 6.4
> Reporter: Valentina
> Assignee: Hiram Chirino
> Fix For: 5.9.0
>
> Attachments: activemq.log, activemq.xml, amq_test_reproducer.sh,
> IBMPH.out
>
>
> 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 PutGet8: 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