summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDiana Corbacho <diana@rabbitmq.com>2016-08-23 13:28:34 +0100
committerDiana Corbacho <diana@rabbitmq.com>2016-08-23 13:28:34 +0100
commit7b151d75144e72c484f60af8a949029272a5d87e (patch)
tree5bd968f498244e7f5ceb3e4042d8b6d3d3d2e33e /test
parentd4020f5f50f118f870ead1d1180f79e75032f6f7 (diff)
downloadrabbitmq-server-git-7b151d75144e72c484f60af8a949029272a5d87e.tar.gz
Improve tolerance to partial partitions in autoheal
* Also solves deadlocks when leader aborts autoheal in node down
Diffstat (limited to 'test')
-rw-r--r--test/partitions_SUITE.erl14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/partitions_SUITE.erl b/test/partitions_SUITE.erl
index 1b901b5940..b99e64b213 100644
--- a/test/partitions_SUITE.erl
+++ b/test/partitions_SUITE.erl
@@ -45,6 +45,7 @@ groups() ->
{cluster_size_3, [], [
autoheal,
autoheal_after_pause_if_all_down,
+ autoheal_multiple_partial_partitions,
ignore,
pause_if_all_down_on_blocked,
pause_if_all_down_on_down,
@@ -307,6 +308,19 @@ do_autoheal(Config) ->
Test([{A, B}, {A, C}, {B, C}]),
ok.
+autoheal_multiple_partial_partitions(Config) ->
+ set_mode(Config, autoheal),
+ [A, B, C] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
+ block_unblock([{A, B}]),
+ block_unblock([{A, C}]),
+ block_unblock([{A, B}]),
+ block_unblock([{A, C}]),
+ block_unblock([{A, B}]),
+ block_unblock([{A, C}]),
+ [await_listening(N, true) || N <- [A, B, C]],
+ [await_partitions(N, []) || N <- [A, B, C]],
+ ok.
+
partial_false_positive(Config) ->
[A, B, C] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
block([{A, B}]),