You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Hiram Chirino <hi...@hiramchirino.com> on 2013/05/30 22:51:51 UTC

Re: org.apache.activemq.leveldb.LevelDBClient java.lang.NullPointerException

Hi Andi,

We've found several bugs in the the leveldb store implementation since
that release.  My recommendation would be to test to see if you can
reproduce against the 5.9 SNAPSHOT.

On Wed, Mar 20, 2013 at 9:18 AM, Andi Chirita
<An...@ignitionone.com> wrote:
> Hi Guys,
>
> I encountered this error on ActiveMQ start.log
>
>        at org.apache.activemq.leveldb.LevelDBClient$$anonfun$queueCursor$1.apply(LevelDBClient.scala:941)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$queueCursor$1.apply(LevelDBClient.scala:937)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1$$anonfun$apply$mcV$sp$9.apply(LevelDBClient.scala:987)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1$$anonfun$apply$mcV$sp$9.apply(LevelDBClient.scala:986)
>         at org.apache.activemq.leveldb.LevelDBClient$RichDB.check$4(LevelDBClient.scala:293)
>         at org.apache.activemq.leveldb.LevelDBClient$RichDB.cursorRange(LevelDBClient.scala:295)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply$mcV$sp(LevelDBClient.scala:986)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply(LevelDBClient.scala:986)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply(LevelDBClient.scala:986)
>         at org.apache.activemq.leveldb.LevelDBClient.usingIndex(LevelDBClient.scala:735)
>         at org.apache.activemq.leveldb.LevelDBClient$$anonfun$retryUsingIndex$1.apply(LevelDBClient.scala:741)
>         at org.apache.activemq.leveldb.util.RetrySupport$.retry(RetrySupport.scala:38)
>         at org.apache.activemq.leveldb.LevelDBClient.retry(LevelDBClient.scala:437)
>         at org.apache.activemq.leveldb.LevelDBClient.retryUsingIndex(LevelDBClient.scala:741)
>         at org.apache.activemq.leveldb.LevelDBClient.collectionCursor(LevelDBClient.scala:985)
>         at org.apache.activemq.leveldb.LevelDBClient.queueCursor(LevelDBClient.scala:937)
>         at org.apache.activemq.leveldb.DBManager.cursorMessages(DBManager.scala:617)
>         at org.apache.activemq.leveldb.LevelDBStore$LevelDBMessageStore.recoverNextMessages(LevelDBStore.scala:467)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:274)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
>         at org.apache.activemq.broker.region.Queue.doBrowse(Queue.java:1066)
>         at org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:832)
>         at org.apache.activemq.broker.region.Queue.access$100(Queue.java:98)
>         at org.apache.activemq.broker.region.Queue$2.run(Queue.java:138)
>         at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
>         at java.util.TimerThread.mainLoop(Timer.java:534)
>         at java.util.TimerThread.run(Timer.java:484)
> java.lang.NullPointerException
>
> And this error in activemq.log
> 2013-03-19 17:16:27,444 [host] Scheduler] - WARN  LevelDBClient                  -                                            - DB operation failed. (entering recovery mode)
>
> After this I can't stop the broker(without a kill) and it's not able to start.
>
> Version :
> 5.7.0.fuse-71-047/<http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/activemq/apache-activemq/5.7.0.fuse-71-047/>       Fri Dec 21 13:26:31 UTC 2012
> Java Runtime: Sun Microsystems Inc. 1.6.0_18
> JVM Arguments: -Xms512M -Xmx512M
> OS : Debian
>
> Setting in activemq.xml :
>
> <persistenceAdapter>
> <levelDB directory="${activemq.base}/data/leveldb" logSize="1073741820"/>
> </persistenceAdapter>
>         <systemUsage>
>             <systemUsage>
>                 <memoryUsage>
>                     <memoryUsage limit="200 mb"/>
>                 </memoryUsage>
>                 <storeUsage>
>                     <storeUsage limit="1 gb"/>
>                 </storeUsage>
>                 <tempUsage>
>                     <tempUsage limit="100 mb"/>
>                 </tempUsage>
>             </systemUsage>
>         </systemUsage>
>
>
> Any Idea why I got this exception and how can I fix it?
>
> Thanks a lot,
>
> Andi
>
>



-- 
Hiram Chirino

Engineering | Red Hat, Inc.

hchirino@redhat.com | fusesource.com | redhat.com

skype: hiramchirino | twitter: @hiramchirino

blog: Hiram Chirino's Bit Mojo