summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-04-11 12:16:49 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-04-11 12:16:49 +0100
commit9318a445bc0b501c606899988d8d0d60d21ede54 (patch)
tree1803347d215fc6b22fc9c876d600871af4e944c8
parent9372e04bfe9864dc0d22aad30b30d45de3ef2f48 (diff)
downloadrabbitmq-server-9318a445bc0b501c606899988d8d0d60d21ede54.tar.gz
Only copy routes that aren't already there.
-rw-r--r--src/rabbit_binding.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl
index a8837e30..3c835b56 100644
--- a/src/rabbit_binding.erl
+++ b/src/rabbit_binding.erl
@@ -97,7 +97,9 @@ recover(XNames, QNames) ->
XNameSet = sets:from_list(XNames),
QNameSet = sets:from_list(QNames),
rabbit_misc:table_filter(
- fun (_Route) -> true end,
+ fun (Route) ->
+ mnesia:read({rabbit_semi_durable_route, Route}) =:= []
+ end,
fun (Route, true) ->
ok = mnesia:write(rabbit_semi_durable_route, Route, write);
(_Route, false) ->