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

[Broker-J] refusing-attach while rejecting consumer does not set required initial-delivery-count field

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • qpid-java-broker-8.0.4
    • None
    • Broker-J
    • None

    Description

      Attempting to create a consumer link from e.g. a non-existing address results in refusal of the link, which in case of a consumer is done by sending a 'response' attach with null source to indicate the terminus wasnt created, followed by a detach with the error.

      The broker does send an attach without a source, but it omits the initialDeliveryCount value from the attach, which the spec says is required when role=SENDER ("This MUST NOT be null if role is sender, and it is ignored if the role is receiver."). Protocol libraries validating such required values will run afoul of this, leading to decode error that can bring the connection down unnecessarily.

      From looking at the wire encoding, it appears only the first 3 fields (name, handle, role) of the attach are being set, with the rest unpopulated and thus being equivalent to null or any default they may have.

      Attachments

        Activity

          People

            Unassigned Unassigned
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: