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

[0-91] [Publisher Confirms] basic.ack returned to client before message is sync'd to disk

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.32, qpid-java-6.0, qpid-java-broker-7.0.0
    • Fix Version/s: qpid-java-broker-7.0.0
    • Component/s: Broker-J
    • Labels:
      None

      Description

      QPID-6164 added RabbitMQ's publish confirms [1] feature to Broker-J.  Concerning when the basic.ack is sent back to the client, the feature documentation states:

      When will messages be confirmed?

      ..

      For routable messages, the basic.ack is sent when a message has been accepted by all the queues. For persistent messages routed to durable queues, this means persisting to disk

      Currently, Broker-J does not behave in this way.  The basic.ack is returned to the client before the auto-async transaction has confirmed that the data is on disk.  The code is AMQChannel#deliverCurrentMessageIfComplete.  It ought to arrange for the acks to be returned once the sync completes.

       

      [1] https://www.rabbitmq.com/confirms.html

        Attachments

          Activity

            People

            • Assignee:
              kwall Keith Wall
              Reporter:
              kwall Keith Wall

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment