diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-10-15 15:37:32 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-10-15 15:37:32 +0100 |
commit | 8404d0a107c9cf89e31b099b36bfa1866555900c (patch) | |
tree | de3f01608bdeacdf7dda4726fdeca233b907ba0f /src/rabbit_mnesia.erl | |
parent | bf630bd68f5e1f7c7ef91499746ab0559d1975a5 (diff) | |
download | rabbitmq-server-8404d0a107c9cf89e31b099b36bfa1866555900c.tar.gz |
Subscribe to system events, receive inconsistent_database.
Diffstat (limited to 'src/rabbit_mnesia.erl')
-rw-r--r-- | src/rabbit_mnesia.erl | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 87069228..b07ac7d4 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -320,10 +320,20 @@ status() -> [{nodes, (IfNonEmpty(disc, cluster_nodes(disc)) ++ IfNonEmpty(ram, cluster_nodes(ram)))}] ++ case mnesia:system_info(is_running) of - yes -> [{running_nodes, cluster_nodes(running)}]; + yes -> RunningNodes = cluster_nodes(running), + [{running_nodes, cluster_nodes(running)}, + {partitions, mnesia_partitions(RunningNodes)}]; no -> [] end. +mnesia_partitions(Nodes) -> + {Replies, _BadNodes} = rpc:multicall( + Nodes, rabbit_node_monitor, partition, []), + case [Reply || Reply = {_, R} <- Replies, R =/= none] of + [] -> none; + List -> List + end. + is_clustered() -> AllNodes = cluster_nodes(all), AllNodes =/= [] andalso AllNodes =/= [node()]. |