[Java broker] failure to startup when attempting to recover queue contents from 
BDB persistent store for queue defined in virtualhosts.xml
------------------------------------------------------------------------------------------------------------------------------------------

                 Key: QPID-1802
                 URL: https://issues.apache.org/jira/browse/QPID-1802
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
            Reporter: Robert Gemmell


This seems similar to QPID-1730, but raising new JIRA as that is currently 
ready to review, and the files in question have since been modified for other 
issues so this could be new.

Steps taken:

Start broker (trunk, r763963) configured to use BDB message store (r3265) with 
the persistent_config.xml.
Start JMS Direct example consumer, having modified 'direct.properties' file to 
use the 'ping' queue configured on the 'test' virtualhost in virtualhosts.xml
Terminate consumer.
Start modified  JMS Direct example producer, send '100' (so actually 101 with 
the completion message) persistent messages
Shutdown broker
Restart broker

Result:

2009-04-10 16:48:57,688 WARN  [main] management.JMXManagedObjectRegistry 
(JMXManagedObjectRegistry.java:187) - Starting JMX ConnectorServer on port 
'8999' (+9099) with SSL
Error initialising message broker: org.apache.qpid.AMQException: Error 
recovering persistent state: org.apache.qpid.AMQException: Error registering 
managed object ping[Queue]: javax.management.InstanceAlreadyExistsException: 
org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping,version=2org.apache.qpid.AMQException:
 Error recovering persistent state: org.apache.qpid.AMQException: Error 
registering managed object ping[Queue]: 
javax.management.InstanceAlreadyExistsException: 
org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping,version=2
2009-04-10 16:48:58,436 ERROR [main] server.Main (Main.java:204) - Error 
initialising message broker: org.apache.qpid.AMQException: Error recovering 
persistent state: org.apache.qpid.AMQException: Error registering managed 
object ping[Queue]: javax.management.InstanceAlreadyExistsException: 
org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping,version=2

        at 
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.recover(BDBMessageStore.java:1283)
        at 
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.configure(BDBMessageStore.java:247)
        at 
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.configure(BDBMessageStore.java:211)
        at 
org.apache.qpid.server.virtualhost.VirtualHost.initialiseTransactionLog(VirtualHost.java:299)
        at 
org.apache.qpid.server.virtualhost.VirtualHost.<init>(VirtualHost.java:221)
        at 
org.apache.qpid.server.virtualhost.VirtualHost.<init>(VirtualHost.java:162)
        at 
org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry.initialiseVirtualHosts(ConfigurationFileApplicationRegistry.java:71)
        at 
org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry.initialise(ConfigurationFileApplicationRegistry.java:63)
        at 
org.apache.qpid.server.registry.ApplicationRegistry.initialise(ApplicationRegistry.java:100)
        at 
org.apache.qpid.server.registry.ApplicationRegistry.initialise(ApplicationRegistry.java:88)
        at org.apache.qpid.server.Main.startup(Main.java:269)
        at org.apache.qpid.server.Main.execute(Main.java:193)
        at org.apache.qpid.server.Main.<init>(Main.java:93)
        at org.apache.qpid.server.Main.main(Main.java:440)
Caused by: org.apache.qpid.AMQException: Error registering managed object 
ping[Queue]: javax.management.InstanceAlreadyExistsException: 
org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping,version=2
        at 
org.apache.qpid.server.management.DefaultManagedObject.register(DefaultManagedObject.java:76)
        at 
org.apache.qpid.server.queue.SimpleAMQQueue.<init>(SimpleAMQQueue.java:151)
        at 
org.apache.qpid.server.queue.SimpleAMQQueue.<init>(SimpleAMQQueue.java:117)
        at 
org.apache.qpid.server.queue.AMQQueueFactory.createAMQQueueImpl(AMQQueueFactory.java:71)
        at 
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.deliverMessages(BDBMessageStore.java:1645)
        at 
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.recover(BDBMessageStore.java:1269)
        ... 13 more
Caused by: javax.management.InstanceAlreadyExistsException: 
org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping,version=2
        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
        at 
org.apache.qpid.server.management.JMXManagedObjectRegistry.registerObject(JMXManagedObjectRegistry.java:314)
        at 
org.apache.qpid.server.management.DefaultManagedObject.register(DefaultManagedObject.java:72)
        ... 18 more


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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to