summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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),