summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2020-04-01 01:44:46 +0300
committerMichael Klishin <michael@clojurewerkz.org>2020-04-01 01:44:46 +0300
commita503baf6b3c6f4112ea9f22f038b0cb1cb822e39 (patch)
treeb872d27aa2459eab599da411988f99e78b5e4670
parent90003a7f5e9dd90ea7a11a78768e2b032a7f0a1c (diff)
downloadrabbitmq-server-git-a503baf6b3c6f4112ea9f22f038b0cb1cb822e39.tar.gz
More debug logging around peer discovery locking
-rw-r--r--src/rabbit_mnesia.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index b4f6eebbd7..6781c1a720 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -103,14 +103,16 @@ init_with_lock() ->
init_with_lock(0, _, RunPeerDiscovery) ->
case rabbit_peer_discovery:lock_acquisition_failure_mode() of
ignore ->
- rabbit_log:warning("Cannot acquire a lock during clustering", []),
+ rabbit_log:warning("Could not acquire a peer discovery lock, out of retries", []),
RunPeerDiscovery(),
rabbit_peer_discovery:maybe_register();
fail ->
exit(cannot_acquire_startup_lock)
end;
init_with_lock(Retries, Timeout, RunPeerDiscovery) ->
- case rabbit_peer_discovery:lock() of
+ LockResult = rabbit_peer_discovery:lock(),
+ rabbit_log:debug("rabbit_peer_discovery:lock returned ~p", [LockResult]),
+ case LockResult of
not_supported ->
rabbit_log:info("Peer discovery backend does not support locking, falling back to randomized delay"),
%% See rabbitmq/rabbitmq-server#1202 for details.
@@ -126,6 +128,13 @@ init_with_lock(Retries, Timeout, RunPeerDiscovery) ->
rabbit_peer_discovery:maybe_register()
after
rabbit_peer_discovery:unlock(Data)
+ end;
+ Data when is_binary(Data) or is_list(Data) ->
+ try
+ RunPeerDiscovery(),
+ rabbit_peer_discovery:maybe_register()
+ after
+ rabbit_peer_discovery:unlock(Data)
end
end.