[ 
https://issues.apache.org/activemq/browse/AMQ-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60007#action_60007
 ] 

Thomas Schöftner commented on AMQ-2757:
---------------------------------------

The problem is related to the VMQueueCursor being active.
If the queues are switched back to the default queue cursor, AMQ starts up 
smoothly.
However, the behaviour is strange as AMQ is nowhere near it's memory limits 
when it crashes.

> AMQ startup fails during Startup due to NullPointerException in KahaDB
> ----------------------------------------------------------------------
>
>                 Key: AMQ-2757
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2757
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.2.0, 5.3.0, 5.3.1
>         Environment: Red Hat Enterprise Linux, Kernel V2.6.18
>            Reporter: Thomas Schöftner
>            Assignee: Gary Tully
>             Fix For: 5.4.0
>
>         Attachments: activemq.log, activemq.xml, wrapper.conf, wrapper.log
>
>
> During a long-time test run several message consumers listening to peristent 
> queues crashed.
> The queues were filling up rapidly, so that KahaDB allocated 3GB of disk 
> space (max. limit 10GB) after 5hours (approx 800k messages).
> At that point the broker was extremely slow and non-responsive to new 
> messages.
> JConsole showed that 1GB of RAM was used and most effort was necessary for 
> garbage collection.
> Although the max memory usage limit is configured to 1GB, AMQ should rather 
> allocate disc space for messages to queues without containers.
> AMQ shutdown took extremely long (several limits).
> The subsequent AMQ restart keeps failing with the following exception:
> java.lang.NullPointerException
>       at 
> org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109)
>       at 
> org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:223)
>       at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recover(KahaDBStore.java:220)
>       at org.apache.activemq.broker.region.Queue.initialize(Queue.java:252)
>       at 
> org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:83)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:464)
>       at 
> org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:120)
>       at 
> org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:268)
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:142)
>       at 
> org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:149)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:94)
>       at 
> org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:178)
>       at 
> org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:101)
>       at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:154)
>       at 
> org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)
>       at 
> org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1713)
>       at 
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:473)
>       at 
> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:85)
>       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)
> ...
> The problem is reproducible also reproducible with recent nightly builds of 
> AMQ/Fuse 5.4.0.
> -Tom

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to