You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Oleg Kiorsak (JIRA)" <ji...@apache.org> on 2010/06/17 10:48:52 UTC
[jira] Commented: (AMQ-2672) ActiveMQ failed to start after server
crash
[ https://issues.apache.org/activemq/browse/AMQ-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60124#action_60124 ]
Oleg Kiorsak commented on AMQ-2672:
-----------------------------------
I have unwillingly and unsuspectedly reproduced exactly same issue today... then googled out this page
nice to see it has been fixed already...
but when is 5.4 coming out?
or is it maybe fixed in latest FUSE sub-releases??
thank you!
> ActiveMQ failed to start after server crash
> -------------------------------------------
>
> Key: AMQ-2672
> URL: https://issues.apache.org/activemq/browse/AMQ-2672
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.3.0, 5.3.1
> Environment: Windows 2003
> Reporter: Rural Hunter
> Assignee: Rob Davies
> Fix For: 5.4.0
>
>
> I'm using kahadb as storage. I have seen this several times, for both 5.3.0 and 5.3.1. If there are many messages in queues and ActiveMQ is not stopped in a correct manner, such as server crash or reboot accidentally, then ActiveMQ can not be started. I have to delete all files in data directory to make it start-able. But this kind of operation causes data loss. Is there anyway to fix that? Here is the log when it fails to start:
> 2010-03-23 21:28:19,187 | INFO | ActiveMQ 5.3.1 JMS Message Broker (datacenter) is starting | org.apache.activemq.broker.BrokerService | main
> 2010-03-23 21:28:19,187 | INFO | For help or more information please see: http://activemq.apache.org/ | org.apache.activemq.broker.BrokerService | main
> 2010-03-23 21:28:19,937 | INFO | Kaha Store using data directory D:\Application\apache-activemq-5.3.1\bin\..\data\datacenter\tmp_storage | org.apache.activemq.kaha.impl.KahaStore | main
> 2010-03-23 21:28:21,687 | ERROR | Failed to start ActiveMQ JMS Message Broker. Reason: java.lang.NullPointerException | org.apache.activemq.broker.BrokerService | main
> java.lang.NullPointerException
> at org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109)
> at org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120)
> at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:222)
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
> at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recover(KahaDBStore.java:219)
> at org.apache.activemq.broker.region.Queue.initialize(Queue.java:251)
> at org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:83)
> at org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:464)
> at org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
> at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:120)
> at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:268)
> at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:153)
> at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:149)
> at org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:94)
> at org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:178)
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:100)
> at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)
> at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
> at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
> at org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1707)
> at org.apache.activemq.broker.BrokerService.start(BrokerService.java:469)
> at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:85)
> 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:1414)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
> 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.createApplicationContext(XBeanBrokerFactory.java:96)
> at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
> 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:115)
> at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
> at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:136)
> at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:82)
> 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:251)
> at org.apache.activemq.console.Main.main(Main.java:107)
> 2010-03-23 21:28:21,781 | INFO | ActiveMQ Message Broker (datacenter, null) is shutting down | org.apache.activemq.broker.BrokerService | main
> 2010-03-23 21:28:21,781 | INFO | Connector openwire Stopped | org.apache.activemq.broker.TransportConnector | main
> 2010-03-23 21:28:22,843 | INFO | ActiveMQ JMS Message Broker (datacenter, null) stopped | org.apache.activemq.broker.BrokerService | main
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
Re: [jira] Commented: (AMQ-2672) ActiveMQ failed to start after
server crash
Posted by Gary Tully <ga...@gmail.com>.
Can u also verify that the current 5.4-SNAPSHOT resolves the restart for
you? We aim to have 5.4 complete by the end of July.
On 17 June 2010 09:48, Oleg Kiorsak (JIRA) <ji...@apache.org> wrote:
>
> [
> https://issues.apache.org/activemq/browse/AMQ-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60124#action_60124]
>
> Oleg Kiorsak commented on AMQ-2672:
> -----------------------------------
>
> I have unwillingly and unsuspectedly reproduced exactly same issue today...
> then googled out this page
> nice to see it has been fixed already...
>
> but when is 5.4 coming out?
>
> or is it maybe fixed in latest FUSE sub-releases??
>
> thank you!
>
>
> > ActiveMQ failed to start after server crash
> > -------------------------------------------
> >
> > Key: AMQ-2672
> > URL: https://issues.apache.org/activemq/browse/AMQ-2672
> > Project: ActiveMQ
> > Issue Type: Bug
> > Components: Message Store
> > Affects Versions: 5.3.0, 5.3.1
> > Environment: Windows 2003
> > Reporter: Rural Hunter
> > Assignee: Rob Davies
> > Fix For: 5.4.0
> >
> >
> > I'm using kahadb as storage. I have seen this several times, for both
> 5.3.0 and 5.3.1. If there are many messages in queues and ActiveMQ is not
> stopped in a correct manner, such as server crash or reboot accidentally,
> then ActiveMQ can not be started. I have to delete all files in data
> directory to make it start-able. But this kind of operation causes data
> loss. Is there anyway to fix that? Here is the log when it fails to start:
> > 2010-03-23 21:28:19,187 | INFO | ActiveMQ 5.3.1 JMS Message Broker
> (datacenter) is starting | org.apache.activemq.broker.BrokerService | main
> > 2010-03-23 21:28:19,187 | INFO | For help or more information please
> see: http://activemq.apache.org/ |
> org.apache.activemq.broker.BrokerService | main
> > 2010-03-23 21:28:19,937 | INFO | Kaha Store using data directory
> D:\Application\apache-activemq-5.3.1\bin\..\data\datacenter\tmp_storage |
> org.apache.activemq.kaha.impl.KahaStore | main
> > 2010-03-23 21:28:21,687 | ERROR | Failed to start ActiveMQ JMS Message
> Broker. Reason: java.lang.NullPointerException |
> org.apache.activemq.broker.BrokerService | main
> > java.lang.NullPointerException
> > at
> org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109)
> > at
> org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120)
> > at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:222)
> > at
> org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
> > at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recover(KahaDBStore.java:219)
> > at
> org.apache.activemq.broker.region.Queue.initialize(Queue.java:251)
> > at
> org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:83)
> > at
> org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:464)
> > at
> org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
> > at
> org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:120)
> > at
> org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:268)
> > at
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> > at
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> > at
> org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:153)
> > at
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
> > at
> org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:149)
> > at
> org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:94)
> > at
> org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:178)
> > at
> org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:100)
> > at
> org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)
> > at
> org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
> > at
> org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
> > at
> org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1707)
> > at
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:469)
> > at
> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:85)
> > 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:1414)
> > at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
> > at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
> > at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
> > at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
> > at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> > at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
> > at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
> > at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
> > 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.createApplicationContext(XBeanBrokerFactory.java:96)
> > at
> org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
> > 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:115)
> > at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
> > at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> > at
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:136)
> > at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
> > at
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:82)
> > 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:251)
> > at org.apache.activemq.console.Main.main(Main.java:107)
> > 2010-03-23 21:28:21,781 | INFO | ActiveMQ Message Broker (datacenter,
> null) is shutting down | org.apache.activemq.broker.BrokerService | main
> > 2010-03-23 21:28:21,781 | INFO | Connector openwire Stopped |
> org.apache.activemq.broker.TransportConnector | main
> > 2010-03-23 21:28:22,843 | INFO | ActiveMQ JMS Message Broker
> (datacenter, null) stopped | org.apache.activemq.broker.BrokerService | main
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
--
http://blog.garytully.com
Open Source Integration
http://fusesource.com