[ 
https://issues.apache.org/jira/browse/AMQ-3804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rob Davies resolved AMQ-3804.
-----------------------------

    Resolution: Fixed

I believe Johno is correct in his diagnosis - resolved by SVN revision 1326692
                
> NullPointerException logged every 30 seconds while attempting to clear 
> expired messages 
> ----------------------------------------------------------------------------------------
>
>                 Key: AMQ-3804
>                 URL: https://issues.apache.org/jira/browse/AMQ-3804
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.6.0
>         Environment: Windows XP SP3
>            Reporter: Rajib Rashid
>            Assignee: Rob Davies
>             Fix For: 5.6.0
>
>
> this is a duplicate of AMQ-3677 which was marked resolved. however i am still 
> noticing this issue using the 5.6 snapshot release from apr 11, 2012. in this 
> case activemq server was shutdown by terminating the java process. when the 
> server is started again, following exception is logged every 30 seconds:
> {code}
> 2012-04-11 14:06:53,786 org.apache.activemq.broker.region.Topic[ActiveMQ 
> Broker[ZyrionMessageBus] Scheduler]: (ERROR) (   Topic.java:683) Failed to 
> remove expired Message from the store 
> java.lang.NullPointerException
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.removeAckLocation(MessageDatabase.java:2005)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.updateIndex(MessageDatabase.java:1259)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase$15.execute(MessageDatabase.java:1046)
>       at org.apache.kahadb.page.Transaction.execute(Transaction.java:769)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1044)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase$13.visit(MessageDatabase.java:977)
>       at 
> org.apache.activemq.store.kahadb.data.KahaRemoveMessageCommand.visit(KahaRemoveMessageCommand.java:220)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:969)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:881)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:863)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.doAcknowledge(KahaDBStore.java:715)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.acknowledge(KahaDBStore.java:701)
>       at 
> org.apache.activemq.store.kahadb.KahaDBTransactionStore.acknowledge(KahaDBTransactionStore.java:519)
>       at 
> org.apache.activemq.store.kahadb.KahaDBTransactionStore$2.acknowledge(KahaDBTransactionStore.java:222)
>       at org.apache.activemq.broker.region.Topic.acknowledge(Topic.java:489)
>       at 
> org.apache.activemq.broker.region.Topic.messageExpired(Topic.java:681)
>       at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:562)
>       at org.apache.activemq.broker.region.Topic.access$100(Topic.java:62)
>       at org.apache.activemq.broker.region.Topic$6.run(Topic.java:662)
>       at 
> org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
>       at java.util.TimerThread.mainLoop(Unknown Source)
>       at java.util.TimerThread.run(Unknown Source)
> {code}
> here is the server configuration:
> {code}
> <beans
>     xmlns="http://www.springframework.org/schema/beans";
>     xmlns:amq="http://activemq.apache.org/schema/core";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>     http://activemq.apache.org/schema/core 
> http://activemq.apache.org/schema/core/activemq-core.xsd";>
>   <!-- Allows us to use system properties as variables in this configuration 
> file -->
>   <bean 
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>   
>   <!-- Configure the ActiveMQ broker -->
>   <broker
>       xmlns="http://activemq.apache.org/schema/core";
>       brokerName="ZyrionMessageBus" 
>       useJmx="false"
>       dataDirectory="${activemq.base}/../../utils/spool/jms"
>       deleteAllMessagesOnStartup="false"
>       advisorySupport="false"
>       offlineDurableSubscriberTimeout="7200000"
>       offlineDurableSubscriberTaskSchedule="1800000">
>     [...]
>     <!-- Configure message persistence for the broker -->
>     <persistenceAdapter>
>       <kahaDB directory="${activemq.base}/../../utils/spool/jms/kahadb" 
> ignoreMissingJournalfiles="true" checkForCorruptJournalFiles="true" 
> checksumJournalFiles="true"/>
>     </persistenceAdapter>
> {code}
> i can provide a copy of the kahadb directory if necessary to duplicate the 
> issue. let me know if you require any additional information. thanks

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to