rabbitmq-server/deps/rabbit
Jean-Sébastien Pédron 376dd2ca60
mirrored_supervisor: Rework error handling after a failed update
[Why]
The retry logic I added in 4621fe7730
was completely wrong. If Khepri reached its own timeout of 30 seconds (as
of this writing), the mirrored supervisor would retry 50 times because
it would not check the time spent. This means it would retry for 25
minutes. Nice.

That retry would be terminated forcefully by the parent supervisor after
5 minutes if it was part of a shutdown.

[How]
This time, the code simply pass the error (timeout or something else)
down to the following `case`. It will shut the mirrored supervisor down.

This fixes very long RabbitMQ node termination (at least 5 minutes,
sometimes more) in testsuites. An example to reproduce:

    gmake -C deps/rabbitmq_mqtt \
      RABBITMQ_METADATA_STORE=khepri \
      ct-v5 t=cluster_size_3:session_takeover_v3_v5

In this one, the third node of the cluster will take 5+ minutes to stop.
2025-06-03 12:23:18 +02:00
..
docs Naming, docs #13747 2025-04-14 08:38:03 -04:00
include Queues with plugins - Diana's review 2025-05-17 20:47:55 +02:00
priv/schema Support outgoing message interceptors 2025-04-23 14:01:42 +02:00
scripts Fix the CLI's main module on Windows 2025-03-26 16:32:38 +01:00
src mirrored_supervisor: Rework error handling after a failed update 2025-06-03 12:23:18 +02:00
test Merge branch 'main' into test-sac-with-priorities 2025-06-02 23:48:36 +04:00
.gitignore make: Remove rabbitmq-deps.mk related targets 2024-08-29 15:19:14 +02:00
CODE_OF_CONDUCT.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
CONTRIBUTING.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
INSTALL Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
LICENSE Replace @rabbitmq.com addresses with rabbitmq-core@groups.vmware.com 2023-06-20 15:40:13 +04:00
LICENSE-MPL-RabbitMQ Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
Makefile Add unit_rabbit_ssl to CT parallel set 1A 2025-06-02 15:21:53 +04:00
README.md Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
SECURITY.md Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
ct.test.spec Support outgoing message interceptors 2025-04-23 14:01:42 +02:00

README.md

RabbitMQ Server

RabbitMQ is a feature rich, multi-protocol messaging broker. It supports:

  • AMQP 0-9-1
  • AMQP 1.0
  • MQTT 3.1.1
  • STOMP 1.0 through 1.2

Installation

Tutorials & Documentation

Getting Help

Contributing

See CONTRIBUTING.md and our development process overview.

Questions about contributing, internals and so on are very welcome on the mailing list.

Licensing

RabbitMQ server is licensed under the MPL 2.0.

Building From Source and Packaging

(c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.