5.4.2 is better w.r.t abortive shutdown, but for this case, rebuilding
the index should work.
remove kahadb/db.data and restart, it will parse the journal to
rebuild the index.

On 23 February 2011 17:11, Joe Carter <joe.car...@gmail.com> wrote:
> When using ActiveMQ 5.4.0 I can get KahaDB corruption that is unrecoverable.
> This is after a hard crash (unrelated kernel panic).
> This prevents the server restarting and my only workaround is to
> remove (or rename) the KahaDB directory.
> I've enabled ignoreMissingJournalfiles and checkForCorruptJournalFiles
> but that makes no difference.
>
> Will moving to 5.4.2 fix this issue?
>
> Thanks
> Joe
>
> Stack trace details...
>
> Feb 23, 2011 4:41:13 PM org.apache.activemq.broker.BrokerService start
> SEVERE: Failed to start ActiveMQ JMS Message Broker. Reason:
> java.io.IOException: Invalid argument
> java.io.IOException: Invalid argument
>        at java.io.RandomAccessFile.seek(Native Method)
>        at org.apache.kahadb.page.PageFile.readPage(PageFile.java:791)
>        at org.apache.kahadb.page.Transaction.load(Transaction.java:411)
>        at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
>        at org.apache.kahadb.index.BTreeIndex.load(BTreeIndex.java:159)
>        at 
> org.apache.activemq.store.kahadb.MessageDatabase$1.execute(MessageDatabase.java:249)
>        at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>        at 
> org.apache.activemq.store.kahadb.MessageDatabase.loadPageFile(MessageDatabase.java:230)
>        at 
> org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:309)
>        at 
> org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:353)
>        at 
> org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:217)
>        at 
> org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:178)
>        at 
> org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)
>        at 
> org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.start(KahaDBPersistenceAdapter.java:186)
>        at 
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:482)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
>        at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
>        at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>        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:291)
>        at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>        at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>        at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>        at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>        at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>        at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>



-- 
http://blog.garytully.com
http://fusesource.com

Reply via email to