FYI, I was able to get the broker to start by disabling JMX and could see
more of the error...

Corrupt journal records found in
'/usr/local/AMQ/data/kaha/queue#3a#2f#2f/db-7.log

So, I removed the /kaha/queue#3a#2f#2f directory and restarted w/o
error...other queues were there are expected...

here is the full stacktrace...

2014-03-27 09:20:28,588 | INFO  | Corrupt journal records found in
'/usr/local/AMQ/data/kaha/queue#3a#2f#2f/db-7.log' between offsets:
7406256..7406302 | org.apache.activemq.store.kahadb.disk.journal.Journal |
main
2014-03-27 09:20:28,593 | INFO  | KahaDB is version 5 |
org.apache.activemq.store.kahadb.MessageDatabase | main
2014-03-27 09:20:28,595 | WARN  | Cannot recover ackMessageFileMap |
org.apache.activemq.store.kahadb.MessageDatabase | main
java.io.StreamCorruptedException: invalid type code: 00
        at
java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2486)
        at
java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2521)
        at
java.io.ObjectInputStream$BlockDataInputStream.skipBlockData(ObjectInputStream.java:2423)
        at
java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1919)
        at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1597)
        at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1748)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
        at
org.apache.activemq.store.kahadb.MessageDatabase.recoverAckMessageFileMap(MessageDatabase.java:685)
        at
org.apache.activemq.store.kahadb.MessageDatabase.recover(MessageDatabase.java:573)
        at
org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:389)
        at
org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:407)
        at
org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:260)
        at
org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:194)
        at
org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
        at
org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.doStart(KahaDBPersistenceAdapter.java:215)
        at
org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
        at
org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.startAdapter(MultiKahaDBPersistenceAdapter.java:179)
        at
org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.registerExistingAdapter(MultiKahaDBPersistenceAdapter.java:351)
        at
org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.findAndRegisterExistingAdapters(MultiKahaDBPersistenceAdapter.java:344)
        at
org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.doStart(MultiKahaDBPersistenceAdapter.java:326)
        at
org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
        at
org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:613)
        at
org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:602)
        at
org.apache.activemq.broker.BrokerService.start(BrokerService.java:567)
        at
org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)
        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.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1608)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1549)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
        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:104)
        at
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)
        at
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)
        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.runTask(StartCommand.java:87)
        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(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
        at org.apache.activemq.console.Main.main(Main.java:115)




boday wrote
> any other thoughts on this?  we have seen this several times now when we
> restart AMQ (using mkahadb) with messages in the queues.  we have had to
> archive the entire data directory to restart...any other way to recover
> this data (manually moving files back in or something)? otherwise, these
> queues/messages are orphaned/lost





--
View this message in context: 
http://activemq.2283324.n4.nabble.com/mkahadb-Failed-to-start-per-destination-persistence-adapter-for-destination-tp4678754p4679606.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to