Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
qpid-java-broker-8.0.4
-
None
-
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.