You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Chuck Rolke (JIRA)" <ji...@apache.org> on 2012/10/18 22:06:03 UTC

[jira] [Created] (QPID-4378) C++ Broker deletes dynamic bridges too aggressively

Chuck Rolke created QPID-4378:
---------------------------------

             Summary: C++ Broker deletes dynamic bridges too aggressively
                 Key: QPID-4378
                 URL: https://issues.apache.org/jira/browse/QPID-4378
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.18
         Environment: C++ Broker
            Reporter: Chuck Rolke
            Assignee: Chuck Rolke


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.

Log Message:
Sep 30 19:41:40 localhost qpidd[10497]: 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[jira] [Resolved] (QPID-4378) C++ Broker deletes dynamic bridges too aggressively

Posted by "Chuck Rolke (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-4378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chuck Rolke resolved QPID-4378.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 0.19

Fix with r1399837.
Reviewed by Ted Ross.
                
> C++ Broker deletes dynamic bridges too aggressively
> ---------------------------------------------------
>
>                 Key: QPID-4378
>                 URL: https://issues.apache.org/jira/browse/QPID-4378
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.18
>         Environment: C++ Broker
>            Reporter: Chuck Rolke
>            Assignee: Chuck Rolke
>             Fix For: 0.19
>
>
> 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.
> Log Message:
> Sep 30 19:41:40 localhost qpidd[10497]: 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org