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

Exchanges with IVE option cause cluster inconsistencies in updatees


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


      Steps to Reproduce:
      1. start a cluster node

      2. create an exchange with the IVE option
      qpid-config add exchange topic my-topic-exchange --ive

      3. send a message to that exchange

      spout --content abc my-topic-exchange/my-key

      4. start another node in the cluster
      5. create a queue and bind it to the exchange created in 2. using the key with
      which the message was sent in 3.

      qpid-config add queue my-queue
      qpid-config bind my-topic-exchange my-queue my-key

      (queue is now inconsistent; on the first node it has a message, on the second
      it has none)

      6. run ./src/tests/qpid-receive --capacity 1 --address 'my-queue;

      {mode: browse}

      ' against the first node

      Actual results:

      second node shutsdown with something like:

      2011-04-14 14:33:04 error Execution exception: invalid-argument:
      anonymous.35276a61-4f3a-46a9-a070-e88c6c6ac01f: confirmed < (2+0) but only sent
      < (1+0) (../../src/qpid/SessionState.cpp:154)
      2011-04-14 14:33:04 critical cluster( READY/error) local error
      832 did not occur on member invalid-argument:
      anonymous.35276a61-4f3a-46a9-a070-e88c6c6ac01f: confirmed < (2+0) but only sent
      < (1+0) (../../src/qpid/SessionState.cpp:154)

      Expected results:

      no shutdown and the command in 6 can be repeated against wither node with the
      same results

      Additional info:

      Root of the problem is that exchange with IVE holds extra state in the form of
      the 'last message', and this is not transferred to new members.




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


              • Created: