Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3975

queue state replication in inconsistent state after source broker restart

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Auto Closed
    • 0.14
    • None
    • C++ Broker
    • None

    Description

      Description of problem:
      Queue state replication adds qpid.replication.seqno into messages sent to
      replication exchange. The counter is reset during every broker (re)start. This
      causes message loss / inconsistent contents of replicated queues on src. and
      dst.brokers after src.broker restart.

      Version-Release number of selected component (if applicable):
      any (incl. 0.14)

      How reproducible:
      100%

      Steps to Reproduce:
      1. Setup queue state replication, like
      https://cwiki.apache.org/qpid/queue-state-replication.html.
      2. Produce 10 messages to the queue-a on the source broker.
      3. Restart source broker.
      4. a) Produce another 5 messages to the queue-a on the source broker.
      4. b) (alternative to 4a): Consume few messages from the queue-a.

      Actual results:
      In both cases, 4a) and also 4b), destination broker does not update its queue-a
      by new message enqueues / dequeues.

      Expected results:
      Dst.broker to update queue-a by either enqueues (4a) or dequeues (4b).

      Workaround:
      together with source broker restart, do restart also destination broker (or at least delete and re-create replication exchange there). That will reset seqno on the replication exchange.

      Additional info:
      The only fix I see possible is to storing qpid.replication.seqno when shutting
      down a broker and reading it during broker startup.

      When running source brokers in a cluster, qpid.replication.seqno read during
      the startup would have to be replaced by its current value from a clustered peer (if
      there was some activity on the replication-queue when the broker was down).

      Attachments

        Activity

          People

            Unassigned Unassigned
            pmoravec Pavel Moravec
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: