Fuse Message Broker fails to startup due to "Recovery Failed: The subscription does not exist:"
Environment
- Fuse Message Broker/ActiveMQ 5.0
Issue
- ActiveMQ broker fails to startup with "Recovery Failed: The subscription does not exist:"
Broker. Reason: java.io.IOException: Recovery Failed: The subscription does not
exist: ID:localhost-61381-1251821489011-0:2:-1:2
jvm 1 | java.io.IOException: Recovery Failed: The subscription does not exist:
ID:grominet.localhost-61381-1251821489011-0:2:-1:2
jvm 1 | at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
jvm 1 | at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:110)
jvm 1 | at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
jvm 1 | at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
jvm 1 | at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
jvm 1 | at org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1719)
jvm 1 | at org.apache.activemq.broker.BrokerService.start(BrokerService.java:471)
jvm 1 | at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:56)
jvm 1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
jvm 1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
jvm 1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
jvm 1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
jvm 1 | at java.security.AccessController.doPrivileged(Native Method)
jvm 1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
jvm 1 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
jvm 1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
jvm 1 | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
jvm 1 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
jvm 1 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
jvm 1 | at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:161)
jvm 1. | at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:51)
jvm 1 | at org.apache.servicemix.Main.main(Main.java:53)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597)
jvm 1 | at org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:353)
jvm 1 | at org.codehaus.classworlds.Launcher.launch(Launcher.java:264)
jvm 1 | at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
jvm 1 | at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597)
jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:236)
jvm 1 | at java.lang.Thread.run(Thread.java:619)
jvm 1 | Caused by: java.lang.IllegalArgumentException: The subscription does not exist: ID:grominet.localhost-61381-1251821489011-0:2:-1:2
jvm 1 | at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:363)
jvm 1 | at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:468)
jvm 1 | at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
jvm 1 | at org.apache.activemq.broker.TransactionBroker$1.recover(TransactionBroker.java:100)
jvm 1 | at org.apache.activemq.store.amq.AMQTransactionStore.recover(AMQTransactionStore.java:198)
jvm 1 | at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:92)
jvm 1 | ... 43 more
. | at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:51)
jvm 1 | at org.apache.servicemix.Main.main(Main.java:53)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597)
jvm 1 | at org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:353)
jvm 1 | at org.codehaus.classworlds.Launcher.launch(Launcher.java:264)
jvm 1 | at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
jvm 1 | at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597)
jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:236)
jvm 1 | at java.lang.Thread.run(Thread.java:619)
jvm 1 | Caused by: java.lang.IllegalArgumentException: The subscription does not exist: ID:grominet.localhost-61381-1251821489011-0:2:-1:2
jvm 1 | at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:363)
jvm 1 | at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:468)
jvm 1 | at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
jvm 1 | at org.apache.activemq.broker.TransactionBroker$1.recover(TransactionBroker.java:100)
jvm 1 | at org.apache.activemq.store.amq.AMQTransactionStore.recover(AMQTransactionStore.java:198)
jvm 1 | at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:92)
jvm 1 | ... 43 more.
Resolution
This has been fixed in Fuse Message Broker 5.3.1 and higher.
Root Cause
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
