You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Manfred Koch (JIRA)" <ji...@apache.org> on 2013/06/24 15:40:20 UTC
[jira] [Updated] (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 ]
Manfred Koch updated AMQ-4597:
------------------------------
Attachment: wrapper.log
ActiveMQDurableSubscriberTest.java
activemq.xml
activemq.log
> 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