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