AMQP 1.0 Client: support Receiver Settle Mode=second

Author: kjnilssonCreated Oct 25, 2022Updated Sep 14, 2026
Labelsrabbitmq-amqp1.0-client

From the spec §2.8.3

1 The receiver will only settle after sending the disposition to the sender and receiving a disposition indicating settlement of the delivery from the sender.

Right now when sending a disposition with settled=false and the broker later returns a disposition with settled=true this message is ignored by the client and the calling process never receives the {amqp10_disposition, _} message as expected.

(NB: the AMQP 1.0 broker plugin will respond with a correct disposition in this case however it will not be guaranteed that the queue did actually receive the ack as no such internal API exists).

Source: rabbitmq/rabbitmq-server