Qpid
  1. Qpid
  2. QPID-4393

HA BrokerReplicator should call queue->bind, not exchange->bind

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.19
    • Component/s: C++ Clustering
    • Labels:
      None

      Description

      In BrokerReplicator, there are a few places that it calls exchange->bind(). We're seeing some incorrect behavior during failover testing (e.g. an exchange shows that it has 5 bindings when there is really only 1) and we think we've narrowed it down to this. Instead of calling exchange->bind(), it should call queue->bind(). If you look at qpid::broker::Broker::createObject(), you'll see that this method calls queue->bind() to bind a queue to an exchange.

      (Note that exchange->unbind() appears to be the correct operation for removing a binding, so this shouldn't need to be changed.)

        Activity

        Hide
        Alan Conway added a comment -

        Fixed on trunk
        ------------------------------------------------------------------------
        r1401710 | aconway | 2012-10-24 10:33:16 -0400 (Wed, 24 Oct 2012) | 9 lines

        Bug-869420 - QPID-4393: BrokerReplicator should call queue->bind, not exchange->bind

        In BrokerReplicator, there are a few places that it calls
        exchange->bind(). We're seeing some incorrect behavior during failover testing
        (e.g. an exchange shows that it has 5 bindings when there is really only 1) and
        we think we've narrowed it down to this. Instead of calling exchange->bind(), it
        should call queue->bind(). If you look at qpid::broker::Broker::createObject(),
        you'll see that this method calls queue->bind() to bind a queue to an exchange.

        ------------------------------------------------------------------------

        Show
        Alan Conway added a comment - Fixed on trunk ------------------------------------------------------------------------ r1401710 | aconway | 2012-10-24 10:33:16 -0400 (Wed, 24 Oct 2012) | 9 lines Bug-869420 - QPID-4393 : BrokerReplicator should call queue->bind, not exchange->bind In BrokerReplicator, there are a few places that it calls exchange->bind(). We're seeing some incorrect behavior during failover testing (e.g. an exchange shows that it has 5 bindings when there is really only 1) and we think we've narrowed it down to this. Instead of calling exchange->bind(), it should call queue->bind(). If you look at qpid::broker::Broker::createObject(), you'll see that this method calls queue->bind() to bind a queue to an exchange. ------------------------------------------------------------------------

          People

          • Assignee:
            Alan Conway
            Reporter:
            Alan Conway
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development