activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AMQ-4535) activemq configured with leveldb commit fail when accessed by PutGet f-tion from IBM Perf Harness
Date Wed, 15 May 2013 14:31:17 GMT

     [ https://issues.apache.org/jira/browse/AMQ-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Hiram Chirino resolved AMQ-4535.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 5.9.0
         Assignee: Hiram Chirino

Fixed in trunk.  Thanks for the bug report!
                
> 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.xml, amq_test_reproducer.sh
>
>
> 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

Mime
View raw message