mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 23:54:31 +02:00
Problem:- Gtid are not transferred in Galera Cluster.
Solution:- We need to transfer gtid in the case on either when cluster is
slave/master in async replication. In normal Gtid replication gtid are generated on
recieving node itself and it is always on sync with other nodes. Because galera keeps
node in sync , So all nodes get same no of event groups. So the issue arises when
say galera is slave in async replication.
A
| (Async replication)
D <-> E <-> F {Galera replication}
So what should happen is that all node should apply the master gtid but this does
node happen, becuase node E, F does not recieve gtid from D in write set , So what E(or F)
does is that it applies wsrep_gtid_domain_id, D server-id , E gtid next seq no. This
generated gtid does not always work when say A has different domain id.
So In this commit, on galera node when we see that this event is recieved from master
we simply write Gtid_Log_Event in write_set and send it to other nodes.
122 lines
4.1 KiB
INI
122 lines
4.1 KiB
INI
# Use default setting for mysqld processes
|
|
!include include/default_mysqld.cnf
|
|
|
|
[mysqld]
|
|
log-bin
|
|
log-slave-updates
|
|
binlog-format=row
|
|
innodb-autoinc-lock-mode=2
|
|
default-storage-engine=innodb
|
|
wsrep_gtid_mode=1
|
|
gtid_ignore_duplicates
|
|
|
|
wsrep-on=1
|
|
wsrep-provider=@ENV.WSREP_PROVIDER
|
|
wsrep_node_address=127.0.0.1
|
|
# enforce read-committed characteristics across the cluster
|
|
# wsrep-causal-reads=ON
|
|
# wsrep-sync-wait=15
|
|
|
|
[mysqld.1]
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
wsrep-cluster-address='gcomm://'
|
|
wsrep_provider_options='base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.1.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
|
|
|
|
[mysqld.2]
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
|
|
wsrep_provider_options='base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
|
|
|
|
[mysqld.3]
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
|
|
wsrep_provider_options='base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.3.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
|
|
|
|
|
|
[mysqld.4]
|
|
wsrep_cluster_name=cluster2
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
|
|
wsrep-cluster-address='gcomm://'
|
|
wsrep_provider_options='base_port=@mysqld.4.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.4.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
|
|
|
|
[mysqld.5]
|
|
wsrep_cluster_name=cluster2
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
|
|
wsrep_provider_options='base_port=@mysqld.5.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.5.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.5.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.5.#sst_port'
|
|
|
|
[mysqld.6]
|
|
wsrep_cluster_name=cluster2
|
|
#galera_port=@OPT.port
|
|
#ist_port=@OPT.port
|
|
#sst_port=@OPT.port
|
|
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
|
|
wsrep_provider_options='base_port=@mysqld.6.#galera_port;evs.suspect_timeout=PT300S;evs.inactive_timeout=PT1000M;evs.install_timeout=PT155S;evs.keepalive_period = PT100S'
|
|
|
|
wsrep_sst_receive_address=127.0.0.2:@mysqld.6.#sst_port
|
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.6.port
|
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.6.#sst_port'
|
|
|
|
[ENV]
|
|
NODE_MYPORT_1= @mysqld.1.port
|
|
NODE_MYSOCK_1= @mysqld.1.socket
|
|
|
|
NODE_MYPORT_2= @mysqld.2.port
|
|
NODE_MYSOCK_2= @mysqld.2.socket
|
|
|
|
NODE_MYPORT_3= @mysqld.3.port
|
|
NODE_MYSOCK_3= @mysqld.3.socket
|
|
|
|
NODE_MYPORT_4= @mysqld.4.port
|
|
NODE_MYSOCK_4= @mysqld.4.socket
|
|
|
|
NODE_MYPORT_5= @mysqld.5.port
|
|
NODE_MYSOCK_5= @mysqld.5.socket
|
|
|
|
NODE_MYPORT_6= @mysqld.6.port
|
|
NODE_MYSOCK_6= @mysqld.6.socket
|
|
|
|
NODE_GALERAPORT_1= @mysqld.1.#galera_port
|
|
NODE_GALERAPORT_2= @mysqld.2.#galera_port
|
|
NODE_GALERAPORT_3= @mysqld.3.#galera_port
|
|
NODE_GALERAPORT_4= @mysqld.4.#galera_port
|
|
NODE_GALERAPORT_5= @mysqld.5.#galera_port
|
|
NODE_GALERAPORT_6= @mysqld.6.#galera_port
|
|
|
|
NODE_SSTPORT_1= @mysqld.1.#sst_port
|
|
NODE_SSTPORT_2= @mysqld.2.#sst_port
|
|
NODE_SSTPORT_3= @mysqld.3.#sst_port
|
|
NODE_SSTPORT_4= @mysqld.4.#sst_port
|
|
NODE_SSTPORT_5= @mysqld.5.#sst_port
|
|
NODE_SSTPORT_6= @mysqld.6.#sst_port
|