summaryrefslogtreecommitdiff
path: root/src/rabbit_amqqueue_process.erl
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-09-11 16:54:19 +0100
committerSimon MacMullen <simon@rabbitmq.com>2013-09-11 16:54:19 +0100
commit7998299ddb26c5c8766a4eb1017c8b1776f7957c (patch)
tree1090b1a0a20e7cd04e6269d186a16b8e253cc25f /src/rabbit_amqqueue_process.erl
parent75bd64e77ba5aca38859971156404faa49409972 (diff)
parentecfd2b2f60ad2e5802a5d533234ab28b13cc7bd3 (diff)
downloadrabbitmq-server-7998299ddb26c5c8766a4eb1017c8b1776f7957c.tar.gz
Merge in defaultbug25276
Diffstat (limited to 'src/rabbit_amqqueue_process.erl')
-rw-r--r--src/rabbit_amqqueue_process.erl18
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);