summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2016-03-23 19:12:03 +0300
committerMichael Klishin <mklishin@pivotal.io>2016-03-23 19:12:03 +0300
commita5a24d32733e80e0ab1b5383d17bb405bd58d743 (patch)
treef501fe6472b7194b17849dcdbdf02b9b791e56de
parent1c11d093d26275e7c4d1dc5d67eec181c88d9397 (diff)
parenta9c1bcdb0822118d9e0dece7af3fd3fe8a3cbd8e (diff)
downloadrabbitmq-server-git-a5a24d32733e80e0ab1b5383d17bb405bd58d743.tar.gz
Merge branch 'lemenkov-slave_wait_timeout_configurable'
-rw-r--r--src/rabbit_mirror_queue_master.erl10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index 057a4fad31..e447e9de82 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -43,7 +43,8 @@
backing_queue_state,
seen_status,
confirmed,
- known_senders
+ known_senders,
+ wait_timeout
}).
-ifdef(use_specs).
@@ -130,7 +131,8 @@ init_with_existing_bq(Q = #amqqueue{name = QName}, BQ, BQS) ->
backing_queue_state = BQS,
seen_status = dict:new(),
confirmed = [],
- known_senders = sets:new() }.
+ known_senders = sets:new(),
+ wait_timeout = rabbit_misc:get_env(rabbit, slave_wait_timeout, 15000) }.
stop_mirroring(State = #state { coordinator = CPid,
backing_queue = BQ,
@@ -203,7 +205,7 @@ delete_and_terminate(Reason, State = #state { backing_queue = BQ,
stop_all_slaves(Reason, State),
State#state{backing_queue_state = BQ:delete_and_terminate(Reason, BQS)}.
-stop_all_slaves(Reason, #state{name = QName, gm = GM}) ->
+stop_all_slaves(Reason, #state{name = QName, gm = GM, wait_timeout = WT}) ->
{ok, #amqqueue{slave_pids = SPids}} = rabbit_amqqueue:lookup(QName),
PidsMRefs = [{Pid, erlang:monitor(process, Pid)} || Pid <- [GM | SPids]],
ok = gm:broadcast(GM, {delete_and_terminate, Reason}),
@@ -215,7 +217,7 @@ stop_all_slaves(Reason, #state{name = QName, gm = GM}) ->
[receive
{'DOWN', MRef, process, _Pid, _Info} ->
ok
- after 15000 ->
+ after WT ->
rabbit_mirror_queue_misc:log_warning(
QName, "Missing 'DOWN' message from ~p in node ~p~n",
[Pid, node(Pid)]),