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

Ability to acknowledge all messages up to and including a given message for a Session

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.11
    • C++ Client
    • None

    Description

      Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session. We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.

      Our use case.
      1) create receiver with capacity > 0 (e.g. 100)
      2) repeat:
      a) receive message X from queue A
      b) perform business logic
      c) send message X to a broker (could be same broker, could be a different broker)
      3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c. We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c. We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged. It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

      Attachments

        Activity

          People

            gsim Gordon Sim
            ncdc Andy Goldstein
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: