Configuration:
Node 1:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://
server-id=1
Node 2:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://127.0.0.1:4567
wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:4569
server-id=1
Node 3:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://127.0.0.1:4567
wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:4570
server-id=1
Scenario 1:
(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
(b) Stop node#2, insert some more records through node#1 and put node#2 back into the cluster.
i. Stop node#2
ii. One node#1
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
iii. Put node#2 back into the cluster
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
0-1-5
0-1-6
- Note: IST is performed to get the missing writesets.
Scenario 2:
(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
(b) Stop node#1, insert some more records through node#2 and put node#1 back into the cluster.
i. Stop node#1
ii. One node#2
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
iii. Put node#1 back into the cluster
GTID (same on all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
0-1-5
0-1-6
- Note: IST is performed to get the missing writesets.
Scenario 3:
(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
(b) Remove node#2 from cluster (SET @@global.wsrep_cluster_address='gcomm://’
i. insert some records on node#2
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
(c) Put node#2 back into the cluster (SET @@global.wsrep_cluster_address='gcomm://127.0.0.1:4567'
i. node#2 shuts down with the following error:
140307 17:57:52 [ERROR] WSREP: Local state seqno (6) is greater than group seqno (4): states diverged. Aborting to avoid potential data loss. Remove '/home/nirbhay/project/repo/maria/testing/galera_gtid/maria-10.0-galera/data2//grastate.dat' file and restart if you wish to continue. (FATAL)
at galera/src/replicator_str.cpp:state_transfer_required():33
140307 17:57:52 [Note] WSREP: applier thread exiting (code:8)
140307 17:57:52 [Note] WSREP: starting shutdown
140307 17:57:52 [Note] ./bin/mysqld: Normal shutdown
Scenario 4:
(a) Insert some records through node#1
(b) Remove node#2 from cluster
i. Change the domain_id of node#2
ii. Insert some records in node#2
(c) Put node#2 back into the cluster
Result: Same as scenario #3.
Configuration:
Node 1:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://
server-id=1
Node 2:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://127.0.0.1:4567
wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:4569
server-id=1
Node 3:
log-error
binlog-format=row
innodb_autoinc_lock_mode=2
log-bin
log-slave-updates=1
gtid-strict-mode=1
wsrep_provider=/home/nirbhay/project/packages/galera-25.3.2-src/libgalera_smm.so
wsrep_cluster_address=gcomm://127.0.0.1:4567
wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:4570
server-id=1
Scenario 1:
(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
(b) Stop node#2, insert some more records through node#1 and put node#2 back into the cluster.
i. Stop node#2
ii. One node#1
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
iii. Put node#2 back into the cluster
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
0-1-5
0-1-6
Scenario 2:
(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
GTID (same across all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
(b) Stop node#1, insert some more records through node#2 and put node#1 back into the cluster.
i. Stop node#1
ii. One node#2
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
iii. Put node#1 back into the cluster
GTID (same on all the nodes)
0-1-1
0-1-2
0-1-3
0-1-4
0-1-5
0-1-6
Scenario 3:

(a) Insert some records through node#1
CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
(b) Remove node#2 from cluster (SET @@global.wsrep_cluster_address='gcomm://’
i. insert some records on node#2
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
(c) Put node#2 back into the cluster (SET @@global.wsrep_cluster_address='gcomm://127.0.0.1:4567'
i. node#2 shuts down with the following error:
140307 17:57:52 [ERROR] WSREP: Local state seqno (6) is greater than group seqno (4): states diverged. Aborting to avoid potential data loss. Remove '/home/nirbhay/project/repo/maria/testing/galera_gtid/maria-10.0-galera/data2//grastate.dat' file and restart if you wish to continue. (FATAL)
at galera/src/replicator_str.cpp:state_transfer_required():33
140307 17:57:52 [Note] WSREP: applier thread exiting (code:8)
140307 17:57:52 [Note] WSREP: starting shutdown
140307 17:57:52 [Note] ./bin/mysqld: Normal shutdown
Scenario 4:
(a) Insert some records through node#1
(b) Remove node#2 from cluster
i. Change the domain_id of node#2
ii. Insert some records in node#2
(c) Put node#2 back into the cluster
Result: Same as scenario #3.