diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2016-03-23 19:12:03 +0300 |
|---|---|---|
| committer | Michael Klishin <mklishin@pivotal.io> | 2016-03-23 19:12:03 +0300 |
| commit | a5a24d32733e80e0ab1b5383d17bb405bd58d743 (patch) | |
| tree | f501fe6472b7194b17849dcdbdf02b9b791e56de | |
| parent | 1c11d093d26275e7c4d1dc5d67eec181c88d9397 (diff) | |
| parent | a9c1bcdb0822118d9e0dece7af3fd3fe8a3cbd8e (diff) | |
| download | rabbitmq-server-git-a5a24d32733e80e0ab1b5383d17bb405bd58d743.tar.gz | |
Merge branch 'lemenkov-slave_wait_timeout_configurable'
| -rw-r--r-- | src/rabbit_mirror_queue_master.erl | 10 |
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)]), |
