diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2013-09-11 16:54:19 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2013-09-11 16:54:19 +0100 |
commit | 7998299ddb26c5c8766a4eb1017c8b1776f7957c (patch) | |
tree | 1090b1a0a20e7cd04e6269d186a16b8e253cc25f /src/rabbit_amqqueue_process.erl | |
parent | 75bd64e77ba5aca38859971156404faa49409972 (diff) | |
parent | ecfd2b2f60ad2e5802a5d533234ab28b13cc7bd3 (diff) | |
download | rabbitmq-server-7998299ddb26c5c8766a4eb1017c8b1776f7957c.tar.gz |
Merge in defaultbug25276
Diffstat (limited to 'src/rabbit_amqqueue_process.erl')
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 9f864d28..58b93f03 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -1104,6 +1104,10 @@ handle_call({init, Recover}, From, State = #q{q = #amqqueue{exclusive_owner = none}}) -> declare(Recover, From, State); +%% You used to be able to declare an exclusive durable queue. Sadly we +%% need to still tidy up after that case, there could be the remnants +%% of one left over from an upgrade. So that's why we don't enforce +%% Recover = false here. handle_call({init, Recover}, From, State = #q{q = #amqqueue{exclusive_owner = Owner}}) -> case rabbit_misc:is_process_alive(Owner) of @@ -1111,14 +1115,8 @@ handle_call({init, Recover}, From, declare(Recover, From, State); false -> #q{backing_queue = undefined, backing_queue_state = undefined, - q = #amqqueue{name = QName} = Q} = State, - gen_server2:reply(From, not_found), - case Recover of - new -> rabbit_log:warning( - "exclusive owner for ~s went away~n", - [rabbit_misc:rs(QName)]); - _ -> ok %% [1] - end, + q = Q} = State, + gen_server2:reply(From, {owner_died, Q}), BQ = backing_queue_module(Q), BQS = bq_init(BQ, Q, Recover), %% Rely on terminate to delete the queue. @@ -1126,10 +1124,6 @@ handle_call({init, Recover}, From, State#q{backing_queue = BQ, backing_queue_state = BQS}} end; -%% [1] You used to be able to declare an exclusive durable queue. Sadly we -%% need to still tidy up after that case, there could be the remnants of one -%% left over from an upgrade. - handle_call(info, _From, State) -> reply(infos(?INFO_KEYS, State), State); |