summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-04-17 10:41:20 +0100
committerSimon MacMullen <simon@rabbitmq.com>2013-04-17 10:41:20 +0100
commitb0f3b4eb229a975e657439f43948412134255e62 (patch)
tree662db4851bd1c8cb9441e516d8e39a438eabbe89
parent04cda78c1cf636517bc84952445d4143d83730cf (diff)
downloadrabbitmq-server-git-b0f3b4eb229a975e657439f43948412134255e62.tar.gz
Explain why we are doing this.
-rw-r--r--src/rabbit_mnesia.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index 5d902b5ddf..95182a7c5c 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -793,6 +793,9 @@ check_beam_compatibility(RemoteHash) ->
"Incompatible Erlang bytecode found on nodes"}}
end.
+%% The delegate module sends functions across the cluster; if it is
+%% out of sync (say due to mixed compilers), we will get badfun
+%% exceptions when trying to do so. Let's detect that at startup.
delegate_beam_hash() ->
DelegateBeamLocation = code:which(delegate),
{ok, {delegate, Hash}} = beam_lib:md5(DelegateBeamLocation),