[ 
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

Reply via email to