summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_router.erl13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rabbit_router.erl b/src/rabbit_router.erl
index a233764766..58eb5b54f6 100644
--- a/src/rabbit_router.erl
+++ b/src/rabbit_router.erl
@@ -36,6 +36,9 @@
-define(SERVER, ?MODULE).
+%% cross-node routing optimisation is disabled because of bug 19758.
+-define(BUG19758, true).
+
%%----------------------------------------------------------------------------
-ifdef(use_specs).
@@ -51,6 +54,14 @@
start_link() ->
gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
+-ifdef(BUG19758).
+
+deliver(QPids, Mandatory, Immediate, Txn, Message) ->
+ check_delivery(Mandatory, Immediate,
+ run_bindings(QPids, Mandatory, Immediate, Txn, Message)).
+
+-else.
+
deliver(QPids, Mandatory, Immediate, Txn, Message) ->
%% we reduce inter-node traffic by grouping the qpids by node and
%% only delivering one copy of the message to each node involved,
@@ -114,6 +125,8 @@ deliver_per_node(NodeQPids, Mandatory, Immediate,
R),
check_delivery(Mandatory, Immediate, {Routed, lists:append(Handled)}).
+-endif.
+
%%--------------------------------------------------------------------
init([]) ->