summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-11-21 13:36:09 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-11-21 13:36:09 +0000
commit84a87082d8e971bcfac060c173170961c8abf654 (patch)
tree859308fc6fa3439b142264329961cbf0eb5a2a9b
parent6bc445afbc6b1f63e8c89613c115accfc5c1ec07 (diff)
downloadrabbitmq-server-84a87082d8e971bcfac060c173170961c8abf654.tar.gz
The last changeset made it possible for Mnesia to not report a partition, so do so explicitly here.
-rw-r--r--src/rabbit_node_monitor.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl
index 5f453053..f6059629 100644
--- a/src/rabbit_node_monitor.erl
+++ b/src/rabbit_node_monitor.erl
@@ -346,7 +346,7 @@ handle_cast({check_partial_partition, _Node, _Reporter,
{noreply, State};
handle_cast({partial_partition, NotReallyDown, Proxy, MyGUID},
- State = #state{guid = MyGUID}) ->
+ State = #state{guid = MyGUID, partitions = Partitions}) ->
FmtBase = "Partial partition detected:~n"
" * We saw DOWN from ~s~n"
" * We can still see ~s which can see ~s~n",
@@ -364,7 +364,11 @@ handle_cast({partial_partition, NotReallyDown, Proxy, MyGUID},
FmtBase ++ "We will therefore intentionally disconnect from ~s~n",
ArgsBase ++ [Proxy]),
erlang:disconnect_node(Proxy),
- {noreply, State}
+ %% In the event of explicitly disconnecting from a node,
+ %% sometimes Mnesia does not log that we were partitioned
+ %% - so note it here.
+ Partitions1 = lists:usort([Proxy | Partitions]),
+ {noreply, State#state{partitions = Partitions1}}
end;
handle_cast({partial_partition, _GUID, _Reporter, _Proxy}, State) ->