So, I was going to test the recovery mechanism of activeMQ. I looked at the default config and it seems like it was using kahadb by default which is great. I sent a bunch of messages to the activeMQ broker, hard killed it, and in theory it should recover, and replay the messages I sent.
Well, when I try to restart it after the kill -9 (which is how I killed it ) I get the following output: %> ./activemq console INFO: Using default configuration (you can configure options in one of these file: /etc/default/activemq /home/samirf/.activemqrc) INFO: Invoke the following command to create a configuration file ./activemq setup [ /etc/default/activemq | /home/samirf/.activemqrc ] INFO: Using java '/usr/bin/java' INFO: Starting in foreground, this is just for debugging purposes (stop process by pressing CTRL+C) Java Runtime: Sun Microsystems Inc. 1.6.0_20 /usr/lib/jvm/java-6-openjdk/jre Heap sizes: current=502464k free=497221k max=502464k JVM args: -Xms512M -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote -Dactivemq.classpath=/home/samirf/projects/apache-activemq-5.4.1/conf; -Dactivemq.home=/home/samirf/projects/apache-activemq-5.4.1 -Dactivemq.base=/home/samirf/projects/apache-activemq-5.4.1 ACTIVEMQ_HOME: /home/samirf/projects/apache-activemq-5.4.1 ACTIVEMQ_BASE: /home/samirf/projects/apache-activemq-5.4.1 Loading message broker from: xbean:activemq.xml WARN | destroyApplicationContextOnStop parameter is deprecated, please use shutdown hooks instead INFO | PListStore:/home/samirf/projects/apache-activemq-5.4.1/data/localhost/tmp_storage started INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[/home/samirf/projects/apache-activemq-5.4.1/data/kahadb] INFO | KahaDB is version 2 INFO | Recovering from the journal ... INFO | Recovery replayed 1 operations from the journal in 0.022 seconds. INFO | ActiveMQ 5.4.1 JMS Message Broker (localhost) is starting INFO | For help or more information please see: http://activemq.apache.org/ INFO | Scheduler using directory: /home/samirf/projects/apache-activemq-5.4.1/data/localhost/scheduler ERROR | Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at page: 0 java.io.EOFException: Chunk stream does not exist at page: 0 at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454) at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431) at org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428) at org.apache.kahadb.page.Transaction.load(Transaction.java:404) at org.apache.kahadb.page.Transaction.load(Transaction.java:361) at org.apache.activemq.broker.scheduler.JobSchedulerStore$3.execute(JobSchedulerStore.java:250) at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) at org.apache.activemq.broker.scheduler.JobSchedulerStore.doStart(JobSchedulerStore.java:239) at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53) at org.apache.activemq.broker.scheduler.SchedulerBroker.getStore(SchedulerBroker.java:198) at org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:185) any suggestion?? -- Samir