From 833e3baeb387296324da3164183f076c4e93ce2c Mon Sep 17 00:00:00 2001 From: John Eckersberg Date: Fri, 6 Oct 2017 08:11:26 -0400 Subject: [PATCH] rabbitmq: set cluster_partition_handling to 'ignore' The pause_minority strategy tends to cause more problems than it solves. If a partition is brief enough that no nodes are fenced, the pausing and unpausing of minority nodes (especially during a partial partition) frequently causes rabbitmq to crash in odd ways consistent with race conditions. By ignoring partitions, we will tolerate brief partitions better. Longer partitions will be handled via fencing, which does not suffer from race conditions when pausing/unpausing nodes. Change-Id: Icb05c6b95a207c4ef818fb90fa9a2c041a5e85cf --- puppet/services/rabbitmq.yaml | 2 +- .../notes/rabbit-ignore-partitions-0a0ae8c636c256ea.yaml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/rabbit-ignore-partitions-0a0ae8c636c256ea.yaml diff --git a/puppet/services/rabbitmq.yaml b/puppet/services/rabbitmq.yaml index a1a602019a..b33e82369e 100644 --- a/puppet/services/rabbitmq.yaml +++ b/puppet/services/rabbitmq.yaml @@ -103,7 +103,7 @@ outputs: inet_dist_listen_min: '25672' inet_dist_listen_max: '25672' rabbitmq_config_variables: - cluster_partition_handling: 'pause_minority' + cluster_partition_handling: 'ignore' queue_master_locator: '<<"min-masters">>' loopback_users: '[]' rabbitmq::erlang_cookie: diff --git a/releasenotes/notes/rabbit-ignore-partitions-0a0ae8c636c256ea.yaml b/releasenotes/notes/rabbit-ignore-partitions-0a0ae8c636c256ea.yaml new file mode 100644 index 0000000000..8c8db43eb2 --- /dev/null +++ b/releasenotes/notes/rabbit-ignore-partitions-0a0ae8c636c256ea.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Changes the default RabbitMQ partition handling strategy from + 'pause_minority' to 'ignore', avoiding crashes due to race + conditions with nodes starting and stopping concurrently.