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

HA mixing tx enqueue and non-tx dequeue leaves extra messages on backup

    Details

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

      Description

      Description of problem:

      With HA enabled, 2 or more node cluster. If a message is enqueued in a transaction, and then dequeued with no transaction, the message is left on the backup brokers.

      Version-Release number of selected component (if applicable):

      Up to trunk r1615992, 0.22-mrg f22fae4

      How reproducible: 100%

      Steps to Reproduce:

      qpid-send -a 'q;

      {create:always}

      ' -b 20.0.20.200 --content-string foo --tx 1
      qpid-receive -a 'q;

      {create:always}

      ' -b 20.0.20.200

      Then on each node:
      qpid-stat -q --ha-admin

      Actual results:

      Primary q is empty, backup q still has 1 message
      Message is enqueued twice on backup and dequeued only once.

      Expected results:

      Primary and backup q empty, message enqueued and dequeued once on primary and backup

      Additional info:

      With a tx dequeue (add --tx 1 to qpid-receive) the message is removed completely on the backup so at first glance things appear OK. However qpid-stat shows it is enqueued and dequeued twice which is incorrect.

      Using the python client there is still a message left on the backup, but there is only 1 enqueue and no dequeue, rather than 2 enqueues and 1 dequeue.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: