diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2011-06-02 18:03:46 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2011-06-02 18:03:46 +0100 |
commit | 9c31f2a89f7e6ae55030892ea39fba85647db019 (patch) | |
tree | 9dfeb1cae86773fc00bda0537287a694f4dcc0ac | |
parent | 08001ab69d88bff3cd8c4c4031cf45571f14eb7a (diff) | |
download | rabbitmq-server-bug22953.tar.gz |
Oops, we don't map true/false to transaction/none on recover. Let's fix that here...bug22953
-rw-r--r-- | src/rabbit_exchange.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index b9b0203e..cab1b99f 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -94,7 +94,7 @@ recover() -> true -> store(X); false -> ok end, - rabbit_exchange:callback(X, create, [Tx, X]) + rabbit_exchange:callback(X, create, [map_create_tx(Tx), X]) end, rabbit_durable_exchange), [XName || #exchange{name = XName} <- Xs]. @@ -128,10 +128,7 @@ declare(XName, Type, Durable, AutoDelete, Internal, Args) -> end end, fun ({new, Exchange}, Tx) -> - ok = XT:create(case Tx of - true -> transaction; - false -> none - end, Exchange), + ok = XT:create(map_create_tx(Tx), Exchange), rabbit_event:notify_if(not Tx, exchange_created, info(Exchange)), Exchange; ({existing, Exchange}, _Tx) -> @@ -140,6 +137,9 @@ declare(XName, Type, Durable, AutoDelete, Internal, Args) -> Err end). +map_create_tx(true) -> transaction; +map_create_tx(false) -> none. + store(X = #exchange{name = Name, type = Type}) -> ok = mnesia:write(rabbit_exchange, X, write), case (type_to_module(Type)):serialise_events() of |