Skip to content

Commit 4ee7a0e

Browse files
authored
Merge pull request #1 from ekatpat/delivery-ack-doc-changes
Update delivery ack docs
2 parents 89afe58 + 4a3e0b1 commit 4ee7a0e

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

versioned_docs/version-4.0/consumers.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -400,20 +400,23 @@ See [.NET client guide](/client-libraries/dotnet-api-guide#basic-get) for exampl
400400

401401
## Delivery Acknowledgement Timeout {#acknowledgement-timeout}
402402

403-
RabbitMQ enforces a timeout is enforced on consumer delivery acknowledgement.
404-
This is a **protection mechanism** that helps detect buggy (stuck) consumers that never acknowledge deliveries.
405-
Such consumers can affect node's on disk data compaction and potentially drive
406-
nodes out of disk space.
403+
RabbitMQ enforces a timeout on consumer delivery acknowledgement.
404+
This is a **protection mechanism** that detects when consumers do not acknowledge message deliveries.
405+
Configuring a delivery acknowledgement timeout can help prevent on-disk data compaction
406+
and driving nodes out of disk space.
407407

408408
### How it works
409409

410-
If a consumer does not ack its delivery for more than the timeout value (30 minutes by default),
411-
its channel will be closed with a `PRECONDITION_FAILED` channel exception.
410+
If a consumer does not ack its delivery within the timeout value,
411+
its channel is closed with a `PRECONDITION_FAILED` channel exception.
412412

413-
The error will be [logged](./logging) by the node that the consumer was
414-
connected to. All outstanding deliveries on that channel, from all consumers,
415-
will be [requeued](./confirms#automatic-requeueing).
413+
The error is [logged](./logging) by the node connected to the consumer.
414+
All the following deliveries on that channel, from all consumers,
415+
are then [requeued](./confirms#automatic-requeueing).
416+
To resolve a `PRECONDITION_FAILED` channel exception, reevaluate your consumer
417+
and consider increasing the timeout value.
416418

419+
The default timeout value for RabbitMQ is 30 minutes.
417420
Whether the timeout should be enforced is evaluated periodically, at one minute intervals.
418421
Values lower than one minute are not supported, and values lower than five minutes
419422
are not recommended.

0 commit comments

Comments
 (0)