# Cluster remains in Primary state after 2 of 4 nodes are stopped

**URL:** <https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405>\
**Category:** Uncategorized\
**Created:** [September 17, 2025, 2:16pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405 "2025-09-17T14:16:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![SQLCaesar](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@SQLCaesar](https://forums.percona.com/u/SQLCaesar)\
**Post date:** [September 17, 2025, 2:16pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/1 "2025-09-17T14:16:38Z")

</div>

Hi there,

I am running a Percona XtraDB Cluster with 4 nodes in my lab environment.

After stopping 2 nodes, I still see that the cluster status is reported as Primary.

My expectation was that with only 2 nodes left (and no sufficient quorum), the cluster should switch to Non-Primary. Instead, it remains in Primary state.

Could someone please clarify why this happens?

Is my understanding of quorum incorrect in this scenario? Shouldn’t 2 out of 4 nodes mean the cluster loses quorum?

Are there configuration settings that affect this behavior?

Thank you in advance for your help and insights.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [September 17, 2025, 5:10pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/2 "2025-09-17T17:10:34Z")

</div>

> [@SQLCaesar](#):
>
> with 4 nodes in my lab environment

Never recommended, even in lab environments.

> [@SQLCaesar](#):
>
> Shouldn’t 2 out of 4 nodes mean the cluster loses quorum?

It should. Look at `wsrep_cluster_size` status. Look at `wsrep_provider_options` and check that no servers have increased weights as additional weight adds to quorum count.

---

<div class="post-metadata">

**Author:** ![SQLCaesar](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@SQLCaesar](https://forums.percona.com/u/SQLCaesar)\
**Post date:** [September 18, 2025, 7:35am UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/3 "2025-09-18T07:35:12Z")

</div>

Hi @matthewb , thank you for your response.

To be honest, I have been instructed by my boss to add the fourth node to the test cluster 😮

I would expect the cluster status to be non-Primary with only two nodes out of four, but it isn’t. Indeed, it doesn’t seem to be increased weights to quorum count….

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

mysql\> SHOW STATUS LIKE ‘wsrep\_cluster\_size’;  
±-------------------±------+  
| Variable\_name | Value |  
±-------------------±------+  
| wsrep\_cluster\_size | 2 |  
±-------------------±------+  
1 row in set (0.00 sec)

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

mysql\> SHOW STATUS LIKE ‘wsrep\_cluster\_status’;  
±---------------------±--------+  
| Variable\_name | Value |  
±---------------------±--------+  
| wsrep\_cluster\_status | Primary |  
±---------------------±--------+  
1 row in set (0.00 sec)

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

mysql\> SHOW STATUS LIKE ‘wsrep\_provider\_options’;  
Empty set (0.00 sec)

Is there any other way how to explain or troubleshoot this behavior?

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [September 18, 2025, 2:21pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/4 "2025-09-18T14:21:50Z")

</div>

> [@SQLCaesar](#):
>
> mysql\> SHOW STATUS LIKE ‘wsrep\_provider\_options’;

This is a variable; SHOW GLOBAL VARIABLES Look for pc.weight within this long list of parameters. The value should be 1 for all nodes.

Also, provide the my.cnf for the nodes, and perhaps some of the last 50 lines of mysql error log when you stopped the 2 nodes. There will be information in the log about quorum votes/calculations/etc.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [September 18, 2025, 2:22pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/5 "2025-09-18T14:22:43Z")

</div>

> [@SQLCaesar](#):
>
> I have been instructed by my boss to add the fourth node to the test cluster

Send this forum post to your boss where Percona, the creators of PXC, say not to use an even number of nodes. 🙂

---

<div class="post-metadata">

**Author:** ![SQLCaesar](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@SQLCaesar](https://forums.percona.com/u/SQLCaesar)\
**Post date:** [September 24, 2025, 6:23pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/6 "2025-09-24T18:23:28Z")

</div>

Thank you for the honest response.

After another group discussion, it was said to me that, “if it helps, you can add a fifth node”. Therefore, I will close this post with the conclusion that a cluster should have an odd number of nodes. To troubleshoot possible issues with quorum or Primary/Non-Primary state, you should also review metrics and configuration such as wsrep\_provider\_options, pc.weight, the my.cnf file for the nodes, as well as the MySQL error log.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [September 24, 2025, 6:28pm UTC](https://forums.percona.com/t/cluster-remains-in-primary-state-after-2-of-4-nodes-are-stopped/39405/7 "2025-09-24T18:28:07Z")

</div>

@SQLCaesar, if you have concerns about data size, or the resources of a 5th node, consider making the 5th node a simple arbitrator using `garbd`. This node stores no data, but still functions as a voting member regarding quorum counts.
