activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-3466) IndexOutOfBounds in kahadb with large number of subscriptions and pending messages
Date Tue, 23 Aug 2011 13:26:29 GMT
IndexOutOfBounds in kahadb with large number of subscriptions and pending messages
----------------------------------------------------------------------------------

                 Key: AMQ-3466
                 URL: https://issues.apache.org/jira/browse/AMQ-3466
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.5.0
            Reporter: Timothy Bish
            Assignee: Gary Tully
             Fix For: 5.6.0


When there are several durable subscribers each with a large number of pending messages to
be acked the an error occurs, as well as some others involving ArrayIndexOutOfBoundsExceptions
and NullPointerExceptions while reading or writing the chunk stream.

{noformat}
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:1287)
	at org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:704)
	at org.apache.activemq.TransactionContext.commit(TransactionContext.java:299)
	at org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:560)
	at org.apache.activemq.process.TopicWithManySelectorsTest.sendNotification(TopicWithManySelectorsTest.java:126)
	at org.apache.activemq.process.TopicWithManySelectorsTest.test(TopicWithManySelectorsTest.java:85)
	at org.apache.activemq.process.TopicWithManySelectorsTest.testMass(TopicWithManySelectorsTest.java:42)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:90)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:96)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:94)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:196)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
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:173)
	at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:103)
	at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:424)
	at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:219)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: javax.transaction.xa.XAException: POST COMMIT FAILED
	at org.apache.activemq.transaction.Transaction.doPostCommit(Transaction.java:182)
	at org.apache.activemq.transaction.Transaction$2.call(Transaction.java:54)
	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.store(MessageDatabase.java:768)
	at org.apache.activemq.store.kahadb.KahaDBTransactionStore.commit(KahaDBTransactionStore.java:264)
	at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:72)
	... 14 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
	at java.lang.System.arraycopy(Native Method)
	at org.apache.kahadb.page.Transaction$2.read(Transaction.java:494)
	at java.io.DataInputStream.readFully(DataInputStream.java:178)
	at java.io.DataInputStream.readFully(DataInputStream.java:152)
	at org.apache.activemq.store.kahadb.MessageDatabase$HashSetStringMarshaller.readPayload(MessageDatabase.java:2352)
	at org.apache.activemq.store.kahadb.MessageDatabase$HashSetStringMarshaller.readPayload(MessageDatabase.java:2335)
	at org.apache.kahadb.index.BTreeNode$Marshaller.readPayload(BTreeNode.java:201)
	at org.apache.kahadb.index.BTreeNode$Marshaller.readPayload(BTreeNode.java:147)
	at org.apache.kahadb.page.Transaction.load(Transaction.java:406)
	at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
	at org.apache.kahadb.index.BTreeIndex.loadNode(BTreeIndex.java:262)
	at org.apache.kahadb.index.BTreeNode.getChild(BTreeNode.java:225)
	at org.apache.kahadb.index.BTreeNode.getLeafNode(BTreeNode.java:672)
	at org.apache.kahadb.index.BTreeNode.get(BTreeNode.java:558)
	at org.apache.kahadb.index.BTreeIndex.get(BTreeIndex.java:184)
	at org.apache.activemq.store.kahadb.MessageDatabase.removeAckLocation(MessageDatabase.java:1642)
	at org.apache.activemq.store.kahadb.MessageDatabase.updateIndex(MessageDatabase.java:1051)
	at org.apache.activemq.store.kahadb.MessageDatabase$15.execute(MessageDatabase.java:890)
	at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:888)
	at org.apache.activemq.store.kahadb.MessageDatabase$13.visit(MessageDatabase.java:833)
	at org.apache.activemq.store.kahadb.data.KahaRemoveMessageCommand.visit(KahaRemoveMessageCommand.java:220)
	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:825)
	at org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:751)
	at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.doAcknowledge(KahaDBStore.java:650)
	at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.acknowledge(KahaDBStore.java:637)
	at org.apache.activemq.store.ProxyTopicMessageStore.acknowledge(ProxyTopicMessageStore.java:78)
	at org.apache.activemq.broker.region.Topic.acknowledge(Topic.java:505)
	at org.apache.activemq.broker.region.DurableTopicSubscription.unmatched(DurableTopicSubscription.java:85)
	at org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:44)
	at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:628)
	at org.apache.activemq.broker.region.Topic$4.afterCommit(Topic.java:466)
	at org.apache.activemq.transaction.Transaction.fireAfterCommit(Transaction.java:109)
	at org.apache.activemq.transaction.Transaction.doPostCommit(Transaction.java:177)
	... 20 more
{noformat}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message