summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-11-08 12:41:39 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2012-11-08 12:41:39 +0000
commitf419596afaa8229a82560577f4a43f68b95e88d7 (patch)
tree095a90a040ffc4a7bd41b9b9c6d16a195b484691 /src/rabbit.erl
parent370a0d16297e9926c08df7b0e75322c771dc2d54 (diff)
downloadrabbitmq-server-git-f419596afaa8229a82560577f4a43f68b95e88d7.tar.gz
pass q records instead of names between recovery phases
That way we can guarantee that the qpids we are talking to in the start phase are the same as in the recovery phase
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index d156d57069..ef9f5f56ce 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -570,9 +570,10 @@ boot_delegate() ->
rabbit_sup:start_supervisor_child(delegate_sup, [Count]).
recover() ->
- RecoveredQNames = rabbit_amqqueue:recover(),
- ok = rabbit_binding:recover(rabbit_exchange:recover(), RecoveredQNames),
- rabbit_amqqueue:start(RecoveredQNames).
+ Qs = rabbit_amqqueue:recover(),
+ ok = rabbit_binding:recover(rabbit_exchange:recover(),
+ [QName || #amqqueue{name = QName} <- Qs]),
+ rabbit_amqqueue:start(Qs).
maybe_insert_default_data() ->
case rabbit_table:is_empty() of