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
commitcfa98cd3073cac972721c0884ae05189dda6a0f1 (patch)
tree662db4851bd1c8cb9441e516d8e39a438eabbe89
parent73b7ccda425668ebd26debc6458b265af4f599a8 (diff)
downloadrabbitmq-server-cfa98cd3073cac972721c0884ae05189dda6a0f1.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 5d902b5d..95182a7c 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),