Fuse Message Broker fails to startup due to "Recovery Failed: The subscription does not exist:"

Solution Verified - Updated -

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

Bug AMQ-1498

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.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.