You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2013/07/02 17:30:20 UTC

[jira] [Closed] (AMQ-4597) IOException on message broker startup when using durable subscription and amqPersistenceAdapter

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

Timothy Bish closed AMQ-4597.
-----------------------------

    Resolution: Won't Fix

The AMQ persistence adapter is now deprecated and no longer maintained.  Try switching to the KahaDB store. 
                
> IOException on message broker startup when using durable subscription and amqPersistenceAdapter
> -----------------------------------------------------------------------------------------------
>
>                 Key: AMQ-4597
>                 URL: https://issues.apache.org/jira/browse/AMQ-4597
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.7.0, 5.8.0
>            Reporter: Manfred Koch
>         Attachments: ActiveMQDurableSubscriberTest.java, activemq.log, activemq.xml, wrapper.log
>
>
> IOException on message broker startup when using durable subscription and amqPersistenceAdapter.
> This happens after killing the JVM.
> *How to reproduce*
> # Install ActiveMQ using amqPersistenceAdapter. See attached [^activemq.xml]
>   (i) With KahaDB the issue does not occur
> # Run ActiveMQ as Windows service (It may also work if you run it as java process)
> # Run the unit test [^ActiveMQDurableSubscriberTest.java]
> # While the test is running kill the ActiveMQ *Java* process
> # The unit test will stop. Terminate it.
> # Wait 30 seconds. The wrapper will try to restart the ActiveMQ broker.
> # (!) Broker restart fails. See [^activemq.log] or [^wrapper.log]
> *Stacktrace*
> 2013-06-24 15:24:18,071 | ERROR | TopicStorePrefetch(be9f6240-8786-42b0-8a9e-7352b3c95eb2,MyDurableSubscription0) OFFLINE:1:2 - org.apache.activemq.broker.region.cursors.TopicStorePrefetch@edbca8:MyBroadcastTopic,batchResetNeeded=false,storeHasMessages=false,size=0,cacheEnabled=true,maxBatchSize:200 Failed to get the outstanding message count from the store | org.apache.activemq.broker.region.cursors.TopicStorePrefetch | WrapperSimpleAppMain
> java.io.IOException
> 	at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
> 	at org.apache.activemq.store.amq.AMQTopicMessageStore.getMessageCount(AMQTopicMessageStore.java:205)
> 	at org.apache.activemq.broker.region.cursors.TopicStorePrefetch.getStoreSize(TopicStorePrefetch.java:84)
> 	at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.resetSize(AbstractStoreCursor.java:64)
> 	at org.apache.activemq.broker.region.cursors.TopicStorePrefetch.<init>(TopicStorePrefetch.java:55)
> 	at org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.add(StoreDurableSubscriberCursor.java:119)
> 	at org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:589)
> 	at org.apache.activemq.broker.region.DurableTopicSubscription.add(DurableTopicSubscription.java:109)
> 	at org.apache.activemq.broker.region.Topic.addSubscription(Topic.java:157)
> 	at org.apache.activemq.broker.region.TopicRegion.addSubscriptionsForDestination(TopicRegion.java:255)
> 	at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:145)
> 	at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:277)
> 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
> 	at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:174)
> 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
> 	at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
> 	at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
> 	at org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:98)
> 	at org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:180)
> 	at org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:119)
> 	at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
> 	at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
> 	at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:122)
> 	at org.apache.activemq.broker.BrokerService$5.start(BrokerService.java:2078)
> 	at org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:636)
> 	at org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:617)
> 	at org.apache.activemq.broker.BrokerService.start(BrokerService.java:553)
> 	at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:60)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1581)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:605)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)
> 	at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
> 	at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
> 	at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:101)
> 	at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:101)
> 	at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:65)
> 	at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
> 	at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
> 	at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:125)
> 	at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:84)
> 	at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> 	at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150)
> 	at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> 	at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
> 	at org.apache.activemq.console.Main.main(Main.java:115)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
> 	at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.NullPointerException
> 	at org.apache.activemq.filter.MessageEvaluationContext.getMessage(MessageEvaluationContext.java:53)
> 	at org.apache.activemq.filter.MessageEvaluationContext.isDropped(MessageEvaluationContext.java:46)
> 	at org.apache.activemq.filter.PropertyExpression.evaluate(PropertyExpression.java:174)
> 	at org.apache.activemq.filter.ComparisonExpression$1.evaluate(ComparisonExpression.java:210)
> 	at org.apache.activemq.filter.ComparisonExpression.matches(ComparisonExpression.java:478)
> 	at org.apache.activemq.store.amq.AMQTopicMessageStore$MessageCounter.recoverMessageReference(AMQTopicMessageStore.java:231)
> 	at org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverReference(KahaReferenceStore.java:89)
> 	at org.apache.activemq.store.kahadaptor.KahaTopicReferenceStore.recoverSubscription(KahaTopicReferenceStore.java:338)
> 	at org.apache.activemq.store.amq.AMQTopicMessageStore.getMessageCount(AMQTopicMessageStore.java:202)
> 	... 67 more

--
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