Hello, we are running an activeMQ Server version 5.8 with a multi KahaDB configuration.
<persistenceAdapter> <mKahaDB directory="/activemq/data/kahadb"> <filteredPersistenceAdapters> <filteredKahaDB perDestination="true" > <persistenceAdapter> <kahaDB journalMaxFileLength="1mb" ignoreMissingJournalfiles="true" checkForCorruptJournalFiles="true" checksumJournalFiles="true" enableJournalDiskSyncs="false"/> </persistenceAdapter> </filteredKahaDB> </filteredPersistenceAdapters> </mKahaDB> </persistenceAdapter> We have a lot of different client connectors like Java JMS, Perl Stomp, PHP Stomp, etc. 1. Issue: After a few days of running a problem occur with some topics in combination with durable subscribers. It says something about “failed fill batch”, but I don't know what it means. After the first occurrence it is not possible for any producer to write to the topic nor to read from the topic by any consumer. Error message below: 2013-06-03 08:39:03,704 | ERROR | TopicStorePrefetch(IdealoMQ@sx119,IPC-JMSCopyBoy-ENSLAVED_ON-ShopPropertyChange) ID:sx119.ipx-36620-1369825170384-1:1:4140813:1 - org.apache.activemq.broker.region.cursors.TopicStorePrefetch@5b58963:ShopPropertyChange,batchResetNeeded=false,storeHasMessages=true,size=5650,cacheEnabled=false,maxBatchSize:200 - Failed to fill batch | org.apache.activemq.broker.region.cursors.AbstractStoreCursor | ActiveMQ Transport: tcp:///172.16.65.105:35386@61613 java.lang.RuntimeException: java.io.EOFException at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:277) at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110) at org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.reset(StoreDurableSubscriberCursor.java:287) at org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:628) at org.apache.activemq.broker.region.DurableTopicSubscription.dispatchPending(DurableTopicSubscription.java:265) at org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:162) at org.apache.activemq.broker.region.DurableTopicSubscription.add(DurableTopicSubscription.java:259) at org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:48) at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:688) at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:499) at org.apache.activemq.broker.region.Topic.send(Topic.java:435) at org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:114) at org.apache.activemq.broker.region.virtual.VirtualTopicInterceptor.send(VirtualTopicInterceptor.java:52) at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:406) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:392) at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:282) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:317) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:499) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:749) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:329) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:45) at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:288) at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:84) at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:195) at org.apache.activemq.transport.stomp.ProtocolConverter.onStompSend(ProtocolConverter.java:321) 2. Issue: The only chance to resolve the first issue is to restart the broker. Unfortunately, it is impossible for me to restart without deleting the whole kahadb directory. The error message tells me that there is something wrong with a topic directory, but when I remove the corresponding directory and try again it comes with the next one. Maybe I am missing/misreading some parameters in the config file. Important parts of the error message below: 2013-06-03 09:50:40,351 | ERROR | Failed to load: class path resource [activemq.xml], reason: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Failed to start per destination persistence adapter for destination: topic#3a#2f#2fStoredOfferInvalidate, options:[] | org.apache.activemq.xbean.XBeanBrokerFactory | WrapperSimpleAppMain org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Failed to start per destination persistence adapter for destination: topic#3a#2f#2fStoredOfferInvalidate, options:[] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ... ... Caused by: java.lang.RuntimeException: Failed to start per destination persistence adapter for destination: topic#3a#2f#2fStoredOfferInvalidate, options:[] at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.startAdapter(MultiKahaDBPersistenceAdapter.java:183) at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.registerExistingAdapter(MultiKahaDBPersistenceAdapter.java:343) at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.findAndRegisterExistingAdapters(MultiKahaDBPersistenceAdapter.java:336) at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.start(MultiKahaDBPersistenceAdapter.java:318) at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:598) 3. Issue: After updating to version 5.8 from 5.7 I am missing all current connections at the “Connection overview”. Apparently there are active connections, because the tools are running just fine and I can see them with jconsole per JMX. Do I have to switch something “on”? I appreciate any help. Maybe someone got related issues? Best regards -- View this message in context: http://activemq.2283324.n4.nabble.com/Failed-to-fill-batch-Restart-5-8-mkahadb-Connections-overview-missing-tp4667740.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.