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
commit6499a5e952de85ebbb6f437bb724e4f4be540a02 (patch)
tree1803347d215fc6b22fc9c876d600871af4e944c8
parentdd1cb7db5ce12e4f3f5027157d44c7197a995cc8 (diff)
downloadrabbitmq-server-git-6499a5e952de85ebbb6f437bb724e4f4be540a02.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 a8837e30cc..3c835b56e6 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) ->