Skip to content

Conversation

@ansd
Copy link
Member

@ansd ansd commented Dec 5, 2025

What?

  1. This commit adds the name of the queue that rejected a message as well as the reason why the message was rejected in the Rejected outcome for AMQP 1.0.
  2. For MQTT 5.0 publishers, the reason is provided in the PUBACK packet.

Why?

It may be helpful for publishers to know which queue out of multilple target queues rejected the message. One such use case is described in #1443 It may also be helpful to know for publishers whether the given target queue rejected the message because its maximum queue length was reached or because the target queue happens to be unavailable.

How?

RabbitMQ will include the UTF-8 encoded queue name (rather than an AMQP address) as well as the reason in the info field of the Rejected outcome's error field:

  • queue: <queue name>
  • reason: maxlen | unavailable

For MQTT 5.0, if the queue length limit is exceeded, RabbitMQ will return the reason code for Quota exceeded to the publisher.

 ## What?
1. This commit adds the name of the queue that rejected a message as well
as the reason why the message was rejected in the Rejected outcome for AMQP 1.0.
2. For MQTT 5.0 publishers, the reason is provided in the PUBACK packet.

 ## Why?
It may be helpful for publishers to know which queue out of multilple
target queues rejected the message. One such use case is described in
#1443
It may also be helpful to know for publishers whether the given target
queue rejected the message because its maximum queue length was reached
or because the target queue happens to be unavailable.

 ## How?
RabbitMQ will include the UTF-8 encoded queue name (rather than an AMQP
address) as well as the reason in the `info` field of the Rejected outcome's `error` field:
* `queue: <queue name>`
* `reason: maxlen | unavailable`

For MQTT 5.0, if the queue length limit is exceeded, RabbitMQ will
return the reason code for `Quota exceeded` to the publisher.
@ansd ansd added this to the 4.3.0 milestone Dec 5, 2025
@ansd ansd self-assigned this Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants