If a dynamic bridge's session has been detached while attempting to propagate a binding event, the broker will delete the bridge. Normally, a detached bridge session will be automatically recovered during the maintenance periodic if possible. Needless to say, auto-deleting the bridge upon a session error prevents this normal recovery path from occurring.
This event can occur in a production system during broker startup/federation and also during source broker recovery since there is a potential race condition between creation of the source exchange and the creation of the dynamic bridge on the destination broker.
Sep 30 19:41:40 localhost qpidd: 2012-09-30 19:41:40 [Broker] error Cannot propagate binding for dynamic bridge as session has been detached, deleting dynamic bridge
Steps to reproduce:
- src broker: localhost:5801
- dst broker: localhost:5803
- Create exchange in dst broker
qpid-config -b localhost:5803 add exchange topic fed.topic
- create dynamic bridge
qpid-route dynamic add localhost:5803 localhost:5801 fed.topic
- create dst queue as bind target
qpid-config -b localhost:5803 add queue fed.topic.queue
- create binding on dest exchange
qpid-config -b localhost:5803 bind fed.topic fed.topic.queue
qpid-config -b localhost:5803 unbind fed.topic fed.topic.queue
- The unbind should not delete the bridge.
|Field||Original Value||New Value|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Fix Version/s||0.19 [ 12322452 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|35m 45s||1||Chuck Rolke||18/Oct/12 20:40|
|283d 22h 12m||1||Justin Ross||29/Jul/13 18:53|