Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-2165

[mKahaDB] java.lang.IllegalStateException: PageFile is not loaded

    Details

      Description

      Running a broker with mKahaDB configuration that uses perDestination=true.
      A durable topic subscriber connects and starts consuming messages.
      Now someone accidentally deletes the topic that the subscriber is connected to via JMX.

      Subscriber remains connected and consumes further messages from brokers memory.

      However after max 30 seconds broker starts to raise

      11:41:02,902 | WARN  | r[amq] Scheduler | Topic                            | 218 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-630310 | Failed to browse Topic: BA.2
      java.lang.IllegalStateException: PageFile is not loaded
      	at org.apache.activemq.store.kahadb.disk.page.PageFile.assertLoaded(PageFile.java:819)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.store.kahadb.disk.page.PageFile.tx(PageFile.java:304)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recover(KahaDBStore.java:567)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.store.ProxyTopicMessageStore.recover(ProxyTopicMessageStore.java:62)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.store.ProxyTopicMessageStore.recover(ProxyTopicMessageStore.java:62)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:599)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.broker.region.Topic.access$100(Topic.java:66)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.broker.region.Topic$6.run(Topic.java:739)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)[218:org.apache.activemq.activemq-osgi:5.11.0.redhat-630310]
      	at java.util.TimerThread.mainLoop(Timer.java:555)[:1.8.0_144]
      	at java.util.TimerThread.run(Timer.java:505)[:1.8.0_144]
      

      This error is raised continuously every 30 seconds even if subscriber has stopped (but not unregistered its durable subscription).

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  garytully Gary Tully
                  Reporter:
                  mielket Torsten Mielke
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: