Return-Path: X-Original-To: apmail-activemq-users-archive@www.apache.org Delivered-To: apmail-activemq-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 228C7DDD4 for ; Mon, 16 Jul 2012 01:54:55 +0000 (UTC) Received: (qmail 35206 invoked by uid 500); 16 Jul 2012 01:54:54 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 35147 invoked by uid 500); 16 Jul 2012 01:54:54 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 35138 invoked by uid 99); 16 Jul 2012 01:54:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Jul 2012 01:54:54 +0000 X-ASF-Spam-Status: No, hits=-0.5 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of tabish121@gmail.com designates 209.85.216.171 as permitted sender) Received: from [209.85.216.171] (HELO mail-qc0-f171.google.com) (209.85.216.171) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Jul 2012 01:54:46 +0000 Received: by qcad1 with SMTP id d1so3254461qca.2 for ; Sun, 15 Jul 2012 18:54:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:date:in-reply-to:references:content-type :x-mailer:content-transfer-encoding:mime-version; bh=8h5yfIwiN+Y0KCgyH2A59C/hPivydz4DaZ6EDmlovzk=; b=IQau+pRcsRqIcprB86Fl1JW4eCMhXUJJQzrNFxQ0aTYeRJfoGgQzpoPjXYpix5v9Pd XC6Emq8jqYmZNrZDB42q8YXlMckKM1IM9/iLqlJs9RKUEhroNECUuAs57QyPZ1yR+Ncr Z7wwxU3JQD44PaInEEdtFASETrSS+4qiPvpZEUlv50xgsYs1Wbu7U3Q+RNO1kfkKvP3H yeYeeCa2YkpYuvmhtDpaQ9OeX7rYw9LgZHjT0ZYQbTxeEGG0dVr2aIikezg2ieZb6mCj kWopZ3d2iyLNEJSA5jZhMbbR69c7DdrTQqp3/PebbRSPA7EnjeQ/Rhve6Jb1p5ozF4ZK nUgw== Received: by 10.224.202.67 with SMTP id fd3mr18274751qab.26.1342403665465; Sun, 15 Jul 2012 18:54:25 -0700 (PDT) Received: from [192.168.2.150] (c-98-231-181-148.hsd1.va.comcast.net. [98.231.181.148]) by mx.google.com with ESMTPS id s9sm21045721qaa.7.2012.07.15.18.54.24 (version=SSLv3 cipher=OTHER); Sun, 15 Jul 2012 18:54:24 -0700 (PDT) Message-ID: <1342403662.2679.2.camel@OfficePC> Subject: Re: ArrayIndexOutOfBoundsException with mKahaDB in 5.6.0 From: Timothy Bish To: users@activemq.apache.org Date: Sun, 15 Jul 2012 21:54:22 -0400 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 On Sun, 2012-07-15 at 18:15 -0700, DV wrote: > We've recently started testing ActiveMQ 5.6.0 with mKahaDB adapter, > configured as suggested on the site: > > > > > > > > > > > > We're using it for publishing and there's a variety of producers and > consumers connecting to the broker from multitude of environments. At > any single point the size of the datastore could be from under 1GB to > about 100GB, with 200GB a hard maximum. > > After the change we've started seeing the following error message that > effectively takes the whole broker down. The broker would work fine > for a few days or weeks, and then break: > > 2012-07-12 13:22:22,982 | INFO | Using Persistence Adapter: > MultiKahaDBPersistenceAdapter[/data/activemq][] > 2012-07-12 13:22:23,019 | INFO | JMX consoles can connect to > service:jmx:rmi://localhost:1100/jndi/rmi://localhost:1101/jmxrmi > 2012-07-12 13:22:26,090 | INFO | KahaDB is version 4 > 2012-07-12 13:22:26,114 | INFO | Recovering from the journal ... > 2012-07-12 13:22:26,115 | INFO | Recovery replayed 4 operations from > the journal in 0.011 seconds. > 2012-07-12 13:22:26,128 | ERROR | Failed to start ActiveMQ JMS Message > Broker (broker-publishing, null). Reason: > java.lang.ArrayIndexOutOfBoundsException: 0 > java.lang.ArrayIndexOutOfBoundsException: 0 > at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.registerExistingAdapter(MultiKahaDBPersistenceAdapter.java:283) > at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.findAndRegisterExistingAdapters(MultiKahaDBPersistenceAdapter.java:275) > at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.start(MultiKahaDBPersistenceAdapter.java:257) > at org.apache.activemq.broker.BrokerService.start(BrokerService.java:525) > at org.apache.activemq.broker.BrokerService.autoStart(BrokerService.java:494) > 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:293) > at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) > at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) > at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) > at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) > at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:64) > at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:52) > at org.apache.activemq.xbean.XBeanBrokerFactory$1.(XBeanBrokerFactory.java:108) > at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:108) > at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:72) > 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:148) > at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) > at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:90) > 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:257) > at org.apache.activemq.console.Main.main(Main.java:111) > 2012-07-12 13:22:26,131 | INFO | ActiveMQ Message Broker > (broker-publishing, null) is shutting down > 2012-07-12 13:22:26,131 | INFO | Connector nio Stopped > 2012-07-12 13:22:26,140 | INFO | ActiveMQ JMS Message Broker > (broker-publishing, null) stopped > > We have been using the same broker with standard KahaDB configuration > for a long time without any issues. We've rolled back to 5.6.0 without > mKahaDB enabled and so far aren't seeing this issue. > > I've found [#AMQ-3528] that describes the same error, but it's from a > while back and for a different type of datastore. > > Should I open an issue? Has anyone successfully switched their > broker(s) to mKahaDB? > This is fixed by https://issues.apache.org/jira/browse/AMQ-3841 you'd need to pick up a SNAPHOT build of 5.7.0 for this fix. -- Tim Bish Sr Software Engineer | FuseSource Corp tim.bish@fusesource.com | www.fusesource.com skype: tabish121 | twitter: @tabish121 blog: http://timbish.blogspot.com/