You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jean-Philippe Melanson (Commented) (JIRA)" <ji...@apache.org> on 2011/11/18 20:08:52 UTC

[jira] [Commented] (AMQ-3131) Failed to reset batching ... java.lang.IllegalStateException: PageFile is not loaded

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

Jean-Philippe Melanson commented on AMQ-3131:
---------------------------------------------

Similar stack trace here:
{code}
Caused by: java.lang.IllegalStateException: PageFile is not loaded 
  at org.apache.kahadb.page.PageFile.assertLoaded(PageFile.java:721) 
  at org.apache.kahadb.page.PageFile.tx(PageFile.java:239) 
  at org.apache.activemq.broker.scheduler.JobSchedulerImpl.schedule(JobSchedulerImpl.java:110) 
  at org.apache.activemq.broker.scheduler.SchedulerBroker.send(SchedulerBroker.java:185) 
  at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129) 
  at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
{code} 

I haven't reproduced it yet, but I opened up the trunk code and seems like {{JobSchedulerImpl.schedule()}} methods are using the {{tx()}} method, which in turn asserts that the {{PageFile}} is loaded, which doesn't seems to be the case. 

I don't know the code at all, but I wonder if the job scheduler should check if the page file is loaded first, load it if needed and process with the transaction? What do you think?
                
> Failed to reset batching ... java.lang.IllegalStateException: PageFile is not loaded
> ------------------------------------------------------------------------------------
>
>                 Key: AMQ-3131
>                 URL: https://issues.apache.org/jira/browse/AMQ-3131
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.4.2
>         Environment: - Sun Solaris 5.10
> - Master / Slave with shared storage
>            Reporter: Ives Stoddard
>
> The following error just started showing up in our ActiveMQ log file for unknown reasons (repeated 11 times, all within a second):
> {noformat}
> 2011-01-11 03:42:00,997 | ERROR | Failed to reset batching | org.apache.activemq.store.kahadb.KahaDBStore | Thread-2002
> java.lang.IllegalStateException: PageFile is not loaded
>         at org.apache.kahadb.page.PageFile.assertLoaded(PageFile.java:721)
>         at org.apache.kahadb.page.PageFile.tx(PageFile.java:239)
>         at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.resetBatching(KahaDBStore.java:512)
>         at org.apache.activemq.store.ProxyMessageStore.resetBatching(ProxyMessageStore.java:93)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.resetBatch(QueueStorePrefetch.java:85)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.stop(AbstractStoreCursor.java:69)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:84)
>         at org.apache.activemq.broker.region.Queue.stop(Queue.java:853)
>         at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:110)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:713)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:113)
>         at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:213)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.scheduler.SchedulerBroker.stop(SchedulerBroker.java:104)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:114)
>         at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1773)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:575)
>         at org.apache.activemq.console.command.StartCommand$1.run(StartCommand.java:135)
> {noformat}
> Similarly we now have an issue on shutdown, with the following error (also repeating 11 times):
> {noformat}
> 2011-01-11 10:34:39,652 | ERROR | Failed to reset batching | org.apache.activemq.store.kahadb.KahaDBStore | ActiveMQ ShutdownHook
> java.lang.IllegalStateException: PageFile is not loaded
>         at org.apache.kahadb.page.PageFile.assertLoaded(PageFile.java:721)
>         at org.apache.kahadb.page.PageFile.tx(PageFile.java:239)
>         at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.resetBatching(KahaDBStore.java:512)
>         at org.apache.activemq.store.ProxyMessageStore.resetBatching(ProxyMessageStore.java:93)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.resetBatch(QueueStorePrefetch.java:85)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.stop(AbstractStoreCursor.java:69)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:84)
>         at org.apache.activemq.broker.region.Queue.stop(Queue.java:853)
>         at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:110)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:713)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:113)
>         at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:213)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.scheduler.SchedulerBroker.stop(SchedulerBroker.java:104)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
>         at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:114)
>         at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1773)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:575)
>         at org.apache.activemq.broker.BrokerService.containerShutdown(BrokerService.java:1971)
>         at org.apache.activemq.broker.BrokerService$4.run(BrokerService.java:1938)
> {noformat}
> Subsequent start / stops result in the same shutdown errors above.
> Is there a workaround for this besides deleting the datastore DB files?

--
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