zulip/puppet
Mateusz Mandera 902e2df257 rabbitmq: Disable consumer_timeout to avoid event redelivery.
Since 3.8.15, RabbitMQ enforces a consumer_timeout (30 minutes by
default): if a delivery is not acknowledged within it, the broker
requeues the event and closes the channel. Because our queue workers
acknowledge only after consume() returns, any task that runs longer
causes the event to be redelivered and processed a second time.

This timeout does nothing useful for us. It does not abort an
overlong job, it merely re-runs it; and we already have our own
mechanism (MAX_CONSUME_SECONDS) for bounding worker runtime, which
we deliberately disable on deferred_work precisely because its jobs
have no time bound.

Self-serve Slack imports routinely exceed 30 minutes, so in practice
this just redelivers the import for a duplicate, harmful run. Disable
consumer_timeout globally.
2026-07-02 14:16:22 +05:30
..
kandra soft_deactivation: Allow a dedicated queue for soft reactivations. 2026-06-30 01:44:04 +08:00
zulip rabbitmq: Disable consumer_timeout to avoid event redelivery. 2026-07-02 14:16:22 +05:30
deps.yaml puppet: Update dependencies. 2023-05-11 10:51:37 -07:00