You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rob Davies (JIRA)" <ji...@apache.org> on 2008/07/29 06:24:00 UTC

[jira] Resolved: (AMQ-1872) ArrayIndexOutOfBoundsException on restart of broker with durable subscriptions

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

Rob Davies resolved AMQ-1872.
-----------------------------

    Resolution: Fixed

Fixed by SVN revision 680465

> ArrayIndexOutOfBoundsException on restart of broker with durable subscriptions
> ------------------------------------------------------------------------------
>
>                 Key: AMQ-1872
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1872
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.1.0, 5.2.0
>            Reporter: Rob Davies
>            Assignee: Rob Davies
>            Priority: Critical
>             Fix For: 5.2.0
>
>
> We have two brokers A & B, with a producer on A and durable subscriber on B. A sends 50K messages and B consumes 25K messages. Then broker B is shutdown. We then restart Broker B and restablish the durable subscription.
> We are seeing Broker B throwing the following array out of bounds exception when cleaning up the persistent adapter indexes after the consumer reconnects to the restarted broker B.
> Caused by: java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.System.arraycopy(Native Method)
>         at org.apache.activemq.kaha.impl.index.hash.HashIndex.addToBin(HashIndex.java:431)
>         at org.apache.activemq.kaha.impl.index.hash.HashIndex.doLoad(HashIndex.java:497)
>         at org.apache.activemq.kaha.impl.index.hash.HashIndex.doCompress(HashIndex.java:535)
>         at org.apache.activemq.kaha.impl.index.hash.HashIndex.load(HashIndex.java:253)
>         at org.apache.activemq.kaha.impl.container.MapContainerImpl.load(MapContainerImpl.java:107)
>         at org.apache.activemq.store.kahadaptor.KahaReferenceStoreAdapter.getMapReferenceContainer(KahaReferenceStoreAdapter.java:210)
>         at org.apache.activemq.store.kahadaptor.KahaReferenceStoreAdapter.createTopicReferenceStore(KahaReferenceStoreAdapter.java:168)
>         at org.apache.activemq.store.amq.AMQPersistenceAdapter.createTopicMessageStore(AMQPersistenceAdapter.java:461)
>         at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:94)
>         at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:425)
>         at org.apache.activemq.broker.jmx.ManagedTopicRegion.createDestination(ManagedTopicRegion.java:56)
>         at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:120)
>         at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:266)
>         at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:141)
>         at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:147)
>         at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:141)
>         at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:148)
>         at org.apache.activemq.broker.region.AbstractRegion.lookup(AbstractRegion.java:385)
>         at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:67)
>         at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:383)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
>         at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:83)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
>         at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:92)
>         at org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:529)
>         at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:345)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:293)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:181)
>         at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         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:885)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         ... 1 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.