You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "David Ingham (JIRA)" <qp...@incubator.apache.org> on 2009/11/03 01:58:59 UTC

[jira] Created: (QPID-2182) Default exchange binding lost on broker restart

Default exchange binding lost on broker restart
-----------------------------------------------

                 Key: QPID-2182
                 URL: https://issues.apache.org/jira/browse/QPID-2182
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.6
         Environment: Client and broker running on Windows 7. SQL Express used for the broker store. Python 2.5 used for Python QMF management tools.
            Reporter: David Ingham


The default exchange binding to a durable queue is not restored on broker restart.

Here are the repro steps:

* Start with a clean database.
* Create a durable queue, message_queue
	python qpid-config add queue message_queue -durable
* Create a binding to message_queue from the amq_direct exchange
	python qpid-config bind amq.direct message_queue routing_key
* Check the queues registered with the broker
	C:\depots\trunk\qpid\python\commands>python qpid-config -b queues
	Queue 'message_queue'
	    bind [message_queue] => ''
	    bind [routing_key] => amq.direct
	Queue 'reply-DINGHAM4.8724.1'
	    bind [reply-DINGHAM4.8724.1] => ''
	    bind [reply-DINGHAM4.8724.1] => amq.direct
	Queue 'topic-DINGHAM4.8724.1'
	    bind [topic-DINGHAM4.8724.1] => ''
	    bind [schema.#] => qpid.management
	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => qpid.management
* Check the exchanges registered with the broker
	C:\depots\trunk\qpid\python\commands>python qpid-config -b exchanges
	Exchange '' (direct)
	    bind [message_queue] => message_queue
	    bind [reply-DINGHAM4.10156.1] => reply-DINGHAM4.10156.1
	    bind [topic-DINGHAM4.10156.1] => topic-DINGHAM4.10156.1
	Exchange 'qpid.management' (topic)
	    bind [schema.#] => topic-DINGHAM4.10156.1
	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => topic-DINGHAM4.10156.1
	Exchange 'amq.direct' (direct)
	    bind [routing_key] => message_queue
	    bind [reply-DINGHAM4.10156.1] => reply-DINGHAM4.10156.1
	Exchange 'amq.topic' (topic)
	Exchange 'amq.fanout' (fanout)
	Exchange 'amq.match' (headers)
* Restart the broker and use qpid-config to list the queues and exchanges, I get this:
	C:\depots\trunk\qpid\python\commands>python qpid-config -b queues
	Queue 'message_queue'
	    bind [routing_key] => amq.direct
	Queue 'reply-DINGHAM4.9900.1'
	    bind [reply-DINGHAM4.9900.1] => ''
	    bind [reply-DINGHAM4.9900.1] => amq.direct
	Queue 'topic-DINGHAM4.9900.1'
	    bind [topic-DINGHAM4.9900.1] => ''
	    bind [schema.#] => qpid.management
	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => qpid.management
 
	C:\depots\trunk\qpid\python\commands>python qpid-config -b exchanges
	Exchange '' (direct)
	    bind [message_queue] => <unknown>
	    bind [reply-DINGHAM4.7980.1] => reply-DINGHAM4.7980.1
	    bind [topic-DINGHAM4.7980.1] => topic-DINGHAM4.7980.1
	Exchange 'qpid.management' (topic)
	    bind [schema.#] => topic-DINGHAM4.7980.1
	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => topic-DINGHAM4.7980.1
	Exchange 'amq.direct' (direct)
	    bind [routing_key] => message_queue
	    bind [reply-DINGHAM4.7980.1] => reply-DINGHAM4.7980.1
	Exchange 'amq.topic' (topic)
	Exchange 'amq.fanout' (fanout)
	Exchange 'amq.match' (headers)
* Note how the default exchange binding to message_queue now states <unknown>


-- 
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:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-2182) Default exchange binding lost on broker restart

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772812#action_12772812 ] 

Steve Huston commented on QPID-2182:
------------------------------------

I've verified this behavior here with the trunk store and SQL provider. I also stepped through the recovery and can see that the default-exchange binding to the durable queue is being created. However, it is not reported correctly via qpid-config (as the problem report notes).

Can someone with a Linux persistence setup try these steps and see if it happens on Linux as well?

Can someone with QMF/qpid-config knowledge give some direction/insight as to what might be happening here?

> Default exchange binding lost on broker restart
> -----------------------------------------------
>
>                 Key: QPID-2182
>                 URL: https://issues.apache.org/jira/browse/QPID-2182
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.6
>         Environment: Client and broker running on Windows 7. SQL Express used for the broker store. Python 2.5 used for Python QMF management tools.
>            Reporter: David Ingham
>
> The default exchange binding to a durable queue is not restored on broker restart.
> Here are the repro steps:
> * Start with a clean database.
> * Create a durable queue, message_queue
> 	python qpid-config add queue message_queue -durable
> * Create a binding to message_queue from the amq_direct exchange
> 	python qpid-config bind amq.direct message_queue routing_key
> * Check the queues registered with the broker
> 	C:\depots\trunk\qpid\python\commands>python qpid-config -b queues
> 	Queue 'message_queue'
> 	    bind [message_queue] => ''
> 	    bind [routing_key] => amq.direct
> 	Queue 'reply-DINGHAM4.8724.1'
> 	    bind [reply-DINGHAM4.8724.1] => ''
> 	    bind [reply-DINGHAM4.8724.1] => amq.direct
> 	Queue 'topic-DINGHAM4.8724.1'
> 	    bind [topic-DINGHAM4.8724.1] => ''
> 	    bind [schema.#] => qpid.management
> 	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => qpid.management
> * Check the exchanges registered with the broker
> 	C:\depots\trunk\qpid\python\commands>python qpid-config -b exchanges
> 	Exchange '' (direct)
> 	    bind [message_queue] => message_queue
> 	    bind [reply-DINGHAM4.10156.1] => reply-DINGHAM4.10156.1
> 	    bind [topic-DINGHAM4.10156.1] => topic-DINGHAM4.10156.1
> 	Exchange 'qpid.management' (topic)
> 	    bind [schema.#] => topic-DINGHAM4.10156.1
> 	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => topic-DINGHAM4.10156.1
> 	Exchange 'amq.direct' (direct)
> 	    bind [routing_key] => message_queue
> 	    bind [reply-DINGHAM4.10156.1] => reply-DINGHAM4.10156.1
> 	Exchange 'amq.topic' (topic)
> 	Exchange 'amq.fanout' (fanout)
> 	Exchange 'amq.match' (headers)
> * Restart the broker and use qpid-config to list the queues and exchanges, I get this:
> 	C:\depots\trunk\qpid\python\commands>python qpid-config -b queues
> 	Queue 'message_queue'
> 	    bind [routing_key] => amq.direct
> 	Queue 'reply-DINGHAM4.9900.1'
> 	    bind [reply-DINGHAM4.9900.1] => ''
> 	    bind [reply-DINGHAM4.9900.1] => amq.direct
> 	Queue 'topic-DINGHAM4.9900.1'
> 	    bind [topic-DINGHAM4.9900.1] => ''
> 	    bind [schema.#] => qpid.management
> 	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => qpid.management
>  
> 	C:\depots\trunk\qpid\python\commands>python qpid-config -b exchanges
> 	Exchange '' (direct)
> 	    bind [message_queue] => <unknown>
> 	    bind [reply-DINGHAM4.7980.1] => reply-DINGHAM4.7980.1
> 	    bind [topic-DINGHAM4.7980.1] => topic-DINGHAM4.7980.1
> 	Exchange 'qpid.management' (topic)
> 	    bind [schema.#] => topic-DINGHAM4.7980.1
> 	    bind [console.obj.*.*.org.apache.qpid.broker.agent] => topic-DINGHAM4.7980.1
> 	Exchange 'amq.direct' (direct)
> 	    bind [routing_key] => message_queue
> 	    bind [reply-DINGHAM4.7980.1] => reply-DINGHAM4.7980.1
> 	Exchange 'amq.topic' (topic)
> 	Exchange 'amq.fanout' (fanout)
> 	Exchange 'amq.match' (headers)
> * Note how the default exchange binding to message_queue now states <unknown>

-- 
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:dev-subscribe@qpid.apache.org