diff options
-rw-r--r-- | src/rabbit_router.erl | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/rabbit_router.erl b/src/rabbit_router.erl index 54279d02..58eb5b54 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,13 +54,15 @@ start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). +-ifdef(BUG19758). + deliver(QPids, Mandatory, Immediate, Txn, Message) -> - %% cross-node routing optimisation is disabled because of bug 19758. - fun deliver_optimised/5, %% prevents "function ... unused" warnings check_delivery(Mandatory, Immediate, run_bindings(QPids, Mandatory, Immediate, Txn, Message)). -deliver_optimised(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, %% which then in turn delivers it to its queues. @@ -120,6 +125,8 @@ deliver_per_node(NodeQPids, Mandatory, Immediate, R), check_delivery(Mandatory, Immediate, {Routed, lists:append(Handled)}). +-endif. + %%-------------------------------------------------------------------- init([]) -> |