Qpid
  1. Qpid
  2. QPID-3502

Durable messages not acked on queue-based federation route

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.10, 0.12
    • Fix Version/s: 0.13
    • Component/s: C++ Broker
    • Labels:
      None

      Description

      • On both the source and destination broker I run:
        qpid-config add exchange topic mytopic --durable
        qpid-config add queue myq --durable
        qpid-config bind mytopic myq 'topica.*'
      • On the destination broker I run:
        qpid-route -d -s --ack 1 queue add <dest-broker> <source-broker> mytopic myq
      • On the source broker machine I edit the spout script to make
        messages durable and run:
        spout mytopic/topica.hello
      • On the destination broker I run:
        drain myq

      Using qpid-stat -q monitor the dequeue of messages. Durable messages are not dequeued, when a transient message is sent all previous messages will be dequeued.

        Activity

        Hide
        Gordon Sim added a comment -

        I believe this can be fixed by the following change (and suspect it may be a regression):

        Index: src/qpid/broker/SessionState.cpp
        ===================================================================
        --- src/qpid/broker/SessionState.cpp	(revision 1166820)
        +++ src/qpid/broker/SessionState.cpp	(working copy)
        @@ -346,7 +346,7 @@
             }
         
             // if the sender has requested immediate notification of the completion...
        -    if (requiresSync) {
        +    if (requiresSync || (requiresAccept && callSendCompletion)) {
                 sendAcceptAndCompletion();
             } else if (callSendCompletion) {
                 sendCompletion();
        
        Show
        Gordon Sim added a comment - I believe this can be fixed by the following change (and suspect it may be a regression): Index: src/qpid/broker/SessionState.cpp =================================================================== --- src/qpid/broker/SessionState.cpp (revision 1166820) +++ src/qpid/broker/SessionState.cpp (working copy) @@ -346,7 +346,7 @@ } // if the sender has requested immediate notification of the completion... - if (requiresSync) { + if (requiresSync || (requiresAccept && callSendCompletion)) { sendAcceptAndCompletion(); } else if (callSendCompletion) { sendCompletion();
        Hide
        Gordon Sim added a comment -

        On consultation with Ken, the following is preferred:

        Index: src/qpid/broker/SessionState.cpp
        ===================================================================
        --- src/qpid/broker/SessionState.cpp	(revision 1166820)
        +++ src/qpid/broker/SessionState.cpp	(working copy)
        @@ -346,10 +346,8 @@
             }
         
             // if the sender has requested immediate notification of the completion...
        -    if (requiresSync) {
        +    if (requiresSync || callSendCompletion) {
                 sendAcceptAndCompletion();
        -    } else if (callSendCompletion) {
        -        sendCompletion();
             }
         }
        
        
        Show
        Gordon Sim added a comment - On consultation with Ken, the following is preferred: Index: src/qpid/broker/SessionState.cpp =================================================================== --- src/qpid/broker/SessionState.cpp (revision 1166820) +++ src/qpid/broker/SessionState.cpp (working copy) @@ -346,10 +346,8 @@ } // if the sender has requested immediate notification of the completion... - if (requiresSync) { + if (requiresSync || callSendCompletion) { sendAcceptAndCompletion(); - } else if (callSendCompletion) { - sendCompletion(); } }
        Hide
        ASF subversion and git services added a comment -

        Commit 1539474 from cliffjansen@apache.org in branch 'qpid/trunk'
        [ https://svn.apache.org/r1539474 ]

        QPID-3502: Windows SslConnector memory error from unititialized data

        Show
        ASF subversion and git services added a comment - Commit 1539474 from cliffjansen@apache.org in branch 'qpid/trunk' [ https://svn.apache.org/r1539474 ] QPID-3502 : Windows SslConnector memory error from unititialized data
        Hide
        Cliff Jansen added a comment -

        That commit was for QPID-5302, fooey

        Show
        Cliff Jansen added a comment - That commit was for QPID-5302 , fooey

          People

          • Assignee:
            Gordon Sim
            Reporter:
            Gordon Sim
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development