diff options
author | Loïc Hoguin <lhoguin@vmware.com> | 2021-09-13 10:59:30 +0200 |
---|---|---|
committer | Loïc Hoguin <lhoguin@vmware.com> | 2021-09-13 10:59:30 +0200 |
commit | 09c8cd4f98a0800fba9c1945aefa2e766c1879b6 (patch) | |
tree | 3006df1e617af0f10a702b0f1d56f3950d04f902 | |
parent | 8cc9806f07095ea8d0edadd18db5959407eb8993 (diff) | |
download | rabbitmq-server-git-09c8cd4f98a0800fba9c1945aefa2e766c1879b6.tar.gz |
Increase classic queue shutdown timeout
A value that is too low will prevent the index from shutting
down in time when there are many queues. This leads to the
process being killed and on the next RabbitMQ restart a
(potentially very long) dirty recovery is needed.
The value of 10 minutes was chosen to mirror the shutdown
timeout of the message store. Since both queues and message
store need to have shut down gracefully in order to have
a clean restart it makes sense to use the same value.
Related: c40c2628a928204c1b504f53690ac790d639a420
-rw-r--r-- | deps/rabbit/src/rabbit_amqqueue_sup.erl | 4 | ||||
-rw-r--r-- | deps/rabbit_common/include/rabbit.hrl | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/deps/rabbit/src/rabbit_amqqueue_sup.erl b/deps/rabbit/src/rabbit_amqqueue_sup.erl index 5765112194..421af337a7 100644 --- a/deps/rabbit/src/rabbit_amqqueue_sup.erl +++ b/deps/rabbit/src/rabbit_amqqueue_sup.erl @@ -24,8 +24,8 @@ start_link(Q, StartMode) -> Marker = spawn_link(fun() -> receive stop -> ok end end), ChildSpec = {rabbit_amqqueue, {rabbit_prequeue, start_link, [Q, StartMode, Marker]}, - intrinsic, ?WORKER_WAIT, worker, [rabbit_amqqueue_process, - rabbit_mirror_queue_slave]}, + intrinsic, ?CLASSIC_QUEUE_WORKER_WAIT, worker, + [rabbit_amqqueue_process, rabbit_mirror_queue_slave]}, {ok, SupPid} = supervisor2:start_link(?MODULE, []), {ok, QPid} = supervisor2:start_child(SupPid, ChildSpec), unlink(Marker), diff --git a/deps/rabbit_common/include/rabbit.hrl b/deps/rabbit_common/include/rabbit.hrl index 8f44046994..1fb3d4e6ea 100644 --- a/deps/rabbit_common/include/rabbit.hrl +++ b/deps/rabbit_common/include/rabbit.hrl @@ -225,9 +225,11 @@ -define(SUPERVISOR_WAIT, rabbit_misc:get_env(rabbit, supervisor_shutdown_timeout, infinity)). -define(WORKER_WAIT, - rabbit_misc:get_env(rabbit, worker_shutdown_timeout, 30000)). + rabbit_misc:get_env(rabbit, worker_shutdown_timeout, 300000)). -define(MSG_STORE_WORKER_WAIT, rabbit_misc:get_env(rabbit, msg_store_shutdown_timeout, 600000)). +-define(CLASSIC_QUEUE_WORKER_WAIT, + rabbit_misc:get_env(rabbit, classic_queue_shutdown_timeout, 600000)). -define(HIBERNATE_AFTER_MIN, 1000). -define(DESIRED_HIBERNATE, 10000). |