This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-17. For the latest, interactive version please visit https://mariadb.com/kb/.

Does a Galera Cluster Node Serve During a Heavy Data Replication?

To simplify the question, I want to ask that with a scenario. So I have a 3-Node Galera Cluster and I am using an IP routing service named Keepalived. When the Node 1 is available, the Keepalived routes all connections to the Node 1. When the Node 1 is gone, the Keepalived routes all connections to the Node 2. But if the Node 1 is gone for a long time (for example 30minute), all insert, update, delete etc.. operations are done in the Node 2 and when the Node 1 becomes available again, the Keepalived routes all connections to the Node 1 again. The question is here. There were gathered a lot of changes on Node 2 and the data transfer from the Node 2 to the Node 1 will take a few minutes, so the Node 1 will get the changes when it was not available but it will also serve during the data transfer. What will happened here? Will the Node 1 serve to the connections when it is receiving data from Node 2 or it will wait until the data transfer is completed? What will happened if a connection requests a data which is not replicated from the Node 2 to the Node 1 yet?

Answer Answered by Daniel Black in this comment.

Depending on your SST mechanism Node 1 may be able to serve data after some initialization. i.e only mariabackup (aka xtrabackup equivalent) per https://galeracluster.com/library/documentation/sst.html out of the built in SST mechanisms.

Glad to see you have a 3-node cluster. I hope the last node isn't arbitrator.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.