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

[AMQP 1.0] Maximum Delivery Count/Dead-lettering

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • qpid-java-broker-7.0.0
    • Broker-J
    • None

    Description

      Placeholder for Maximum Delivery Count/Dead-lettering support.

      The current implementation in the Broker is incomplete. I notice the following areas. There may be more.

      • The protocol layer needs to trigger the MessageInstance#routeToAlternate
      • Handling of the Rejected outcome is absent. http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected
      • Implement handling of default outcomes.
      • AMQP 1.0 Conversion layer should set Header#setDeliveryCount()
      • I note that the AMQP 0-8..0-10 protocol layers use the MessageInstance#deliveryCount differently to the AMQP 1.0 protocol layer. This will need some care to ensure that protocol's play nicely together.
        • AMQP 0-8..0-10 the delivery count is incremented before the consumer send and then it is reduced if the client returns the message indicating the message is unseen.
        • AMQP 1.0 specification defines Header field delivery-count as "The number of unsuccessful previous attempts to deliver this message. If this value is non-zero it can be taken as an indication that the delivery might be a duplicate. On first delivery, the value is zero. It is incremented upon an outcome being settled at the sender, according to rules defined for each outcome.". Currently the AMQP protocol layer populates delivery-count with MessageInstance#deliveryCount and it only increments MessageInstance#deliveryCount after the message is rejected.

      Also verify:

      • Behaviour when the session is rolled back or the recovered.
      • Behaviour when the session or connection is closed.
      • Behaviour when the connection is abruptly dropped.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kwall Keith Wall
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: