[ 
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

Reply via email to