Commit fccca499 authored by Julius Goryavsky's avatar Julius Goryavsky

MDEV-28377: galera_as_slave_nonprim bind: Address already in use

This commit fixes a crash reported as MDEV-28377 and a number
of other crashes in automated tests with mtr that are related
to broken .cnf files in galera and galera_3nodes suites, which
happened when automatically migrating MDEV-26171 from 10.3 to
subsequent higher versions.
parent e6bbc83d
...@@ -16,7 +16,6 @@ MW-328A : MDEV-22666 galera.MW-328A MTR failed: "Semaphore wait has lasted > 600 ...@@ -16,7 +16,6 @@ MW-328A : MDEV-22666 galera.MW-328A MTR failed: "Semaphore wait has lasted > 600
MW-328B : MDEV-22666 galera.MW-328A MTR failed: "Semaphore wait has lasted > 600 seconds" and do not release port 16002 MW-328B : MDEV-22666 galera.MW-328A MTR failed: "Semaphore wait has lasted > 600 seconds" and do not release port 16002
MW-329 : MDEV-19962 Galera test failure on MW-329 MW-329 : MDEV-19962 Galera test failure on MW-329
galera_as_slave_ctas : MDEV-28378 timeout galera_as_slave_ctas : MDEV-28378 timeout
galera_as_slave_nonprim : MDEV-28377 bind: Address already in use
galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event() galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event()
galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit
galera_bf_lock_wait : MDEV-21597 wsrep::transaction::start_transaction(): Assertion `active() == false' failed galera_bf_lock_wait : MDEV-21597 wsrep::transaction::start_transaction(): Assertion `active() == false' failed
......
...@@ -8,40 +8,31 @@ innodb-autoinc-lock-mode=2 ...@@ -8,40 +8,31 @@ innodb-autoinc-lock-mode=2
default-storage-engine=innodb default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER wsrep-provider=@ENV.WSREP_PROVIDER
# enforce read-committed characteristics across the cluster # enforce read-committed characteristics across the cluster
# wsrep-causal-reads=ON
wsrep-sync-wait=15 wsrep-sync-wait=15
wsrep-on=1
[mysqld.1] [mysqld.1]
loose-innodb wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-cluster-address=gcomm:// wsrep_cluster_address=gcomm://
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep_causal_reads=ON
wsrep_sync_wait = 15
[mysqld.2] [mysqld.2]
loose-innodb wsrep-on=1
# debug=d:t:i:o,/tmp/mysqld.2.trace
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep_causal_reads=ON
wsrep_sync_wait = 15
[ENV] [ENV]
NODE_MYPORT_1= @mysqld.1.port NODE_MYPORT_1= @mysqld.1.port
NODE_MYSOCK_1= @mysqld.1.socket NODE_MYSOCK_1= @mysqld.1.socket
......
...@@ -7,50 +7,44 @@ ...@@ -7,50 +7,44 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
loose-innodb
log-bin=mysqld-bin log-bin=mysqld-bin
log-slave-updates
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2 innodb-autoinc-lock-mode=2
default-storage-engine=innodb default-storage-engine=innodb
# enforce read-committed characteristics across the cluster
# wsrep-causal-reads=ON
wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
server-id=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep_provider=@ENV.WSREP_PROVIDER
server-id=1
log_slave_updates
wsrep-on=1
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M'
wsrep_cluster_address=gcomm:// wsrep_cluster_address=gcomm://
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
# enforce read-committed characteristics across the cluster wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
wsrep-causal-reads=ON
wsrep-sync-wait=15
[mysqld.2] [mysqld.2]
wsrep-on=1
server-id=2
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
server-id=2
log_slave_updates
wsrep-on=1
wsrep_provider=@ENV.WSREP_PROVIDER wsrep_provider=@ENV.WSREP_PROVIDER
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M'
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
# enforce read-committed characteristics across the cluster wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
wsrep-causal-reads=ON
wsrep-sync-wait=15
[mysqld.3] [mysqld.3]
wsrep-on=OFF
server-id=3 server-id=3
[ENV] [ENV]
......
...@@ -6,81 +6,45 @@ ...@@ -6,81 +6,45 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
loose-innodb
log-bin=mysqld-bin
log-slave-updates
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
# enforce read-committed characteristics across the cluster
# wsrep-causal-reads=ON
wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
server-id=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_provider=@ENV.WSREP_PROVIDER
wsrep_cluster_address=gcomm://
log-bin=master-bin wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
log-bin-index=master-bin wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
log-slave-updates
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep-cluster-address=gcomm://
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=1
[mysqld.2] [mysqld.2]
wsrep-on=1
server-id=2
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_provider=@ENV.WSREP_PROVIDER
log-bin=master-bin
log-bin-index=master-bin
log-slave-updates
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_node_address=127.0.0.1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=2
[mysqld.3] [mysqld.3]
#galera_port=@OPT.port
#ist_port=@OPT.port
#sst_port=@OPT.port
wsrep-on=1
log-bin=master-bin
log-bin-index=master-bin
log-slave-updates
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.2.#galera_port'
wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=3
wsrep-on=OFF wsrep-on=OFF
server-id=3
[ENV] [ENV]
NODE_MYPORT_1= @mysqld.1.port NODE_MYPORT_1= @mysqld.1.port
......
...@@ -6,98 +6,57 @@ ...@@ -6,98 +6,57 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
log-bin loose-innodb
log-bin=mysqld-bin
log-slave-updates
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
# enforce read-committed characteristics across the cluster
# wsrep-causal-reads=ON
wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
server-id=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_provider=@ENV.WSREP_PROVIDER
wsrep_cluster_address=gcomm://
log-slave-updates wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep-on=1
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep-cluster-address=gcomm://
wsrep_provider_options='base_port=@mysqld.1.#galera_port;evs.install_timeout = PT15S;evs.max_install_timeouts=1;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=1
[mysqld.2] [mysqld.2]
wsrep-on=1
server-id=2
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_provider=@ENV.WSREP_PROVIDER
log-slave-updates
wsrep-on=1
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_node_address=127.0.0.1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.1.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#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'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=2
[mysqld.3] [mysqld.3]
wsrep-on=1
server-id=3
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
log-slave-updates
wsrep-on=1
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.3.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=3
[mysqld.4] [mysqld.4]
#galera_port=@OPT.port wsrep-on=OFF
#ist_port=@OPT.port
#sst_port=@OPT.port
log-slave-updates
wsrep-on=1
innodb-autoinc-lock-mode=2
default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.4.#galera_port;evs.install_timeout=PT15S;evs.max_install_timeouts=1;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
# enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON
wsrep-sync-wait=15
server-id=4 server-id=4
[ENV] [ENV]
......
...@@ -2,50 +2,55 @@ ...@@ -2,50 +2,55 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
loose-innodb
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2 innodb-autoinc-lock-mode=2
default-storage-engine=innodb default-storage-engine=innodb
wsrep-provider=@ENV.WSREP_PROVIDER wsrep-provider=@ENV.WSREP_PROVIDER
# enforce read-committed characteristics across the cluster # enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON # wsrep-causal-reads=ON
wsrep-sync-wait=15 wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-cluster-address=gcomm:// wsrep_cluster_address=gcomm://
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
[mysqld.2] [mysqld.2]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
[mysqld.3] [mysqld.3]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
[mysqld.4] [mysqld.4]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.4.#galera_port;gcache.size=10M' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
......
--- r/galera_sst_mariabackup_logarchive.result --- r/galera_sst_mariabackup_logarchive.result
+++ r/galera_sst_mariabackup_logarchive.reject +++ r/galera_sst_mariabackup_logarchive.reject
@@ -286,5 +286,113 @@ @@ -516,5 +516,189 @@
1
DROP TABLE t1; DROP TABLE t1;
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted +Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it +while a DDL was in progress on it
+connection node_1; +connection node_1;
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB; +CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF; +SET AUTOCOMMIT=OFF;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 VALUES ('node1_committed_before'); +INSERT INTO t1 VALUES (1,'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before'); +INSERT INTO t1 VALUES (2,'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before'); +INSERT INTO t1 VALUES (3,'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before'); +INSERT INTO t1 VALUES (4,'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before'); +INSERT INTO t1 VALUES (5,'node1_committed_before');
+connection node_2; +connection node_2;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 VALUES ('node2_committed_before'); +INSERT INTO t1 VALUES (6,'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before'); +INSERT INTO t1 VALUES (7,'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before'); +INSERT INTO t1 VALUES (8,'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before'); +INSERT INTO t1 VALUES (9,'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before'); +INSERT INTO t1 VALUES (10,'node2_committed_before');
+COMMIT; +COMMIT;
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table'; +SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
+connection node_1; +connection node_1;
...@@ -32,26 +32,26 @@ ...@@ -32,26 +32,26 @@
+connection node_1; +connection node_1;
+SET AUTOCOMMIT=OFF; +SET AUTOCOMMIT=OFF;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_committed_during'); +INSERT INTO t1 (id,f1) VALUES (11,'node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during'); +INSERT INTO t1 (id,f1) VALUES (12,'node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during'); +INSERT INTO t1 (id,f1) VALUES (13,'node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during'); +INSERT INTO t1 (id,f1) VALUES (14,'node1_committed_during');
+INSERT INTO t1 (f1) VALUES ('node1_committed_during'); +INSERT INTO t1 (id,f1) VALUES (15,'node1_committed_during');
+COMMIT; +COMMIT;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (16,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (17,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (18,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (19,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (20,'node1_to_be_committed_after');
+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1; +connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+SET AUTOCOMMIT=OFF; +SET AUTOCOMMIT=OFF;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (21,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (22,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (23,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (24,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (25,'node1_to_be_rollbacked_after');
+connection node_2; +connection node_2;
+Performing --wsrep-recover ... +Performing --wsrep-recover ...
+connection node_2; +connection node_2;
...@@ -59,58 +59,134 @@ ...@@ -59,58 +59,134 @@
+Using --wsrep-start-position when starting mysqld ... +Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF; +SET AUTOCOMMIT=OFF;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node2_committed_after'); +INSERT INTO t1 (id,f1) VALUES (26,'node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after'); +INSERT INTO t1 (id,f1) VALUES (27,'node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after'); +INSERT INTO t1 (id,f1) VALUES (28,'node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after'); +INSERT INTO t1 (id,f1) VALUES (29,'node2_committed_after');
+INSERT INTO t1 (f1) VALUES ('node2_committed_after'); +INSERT INTO t1 (id,f1) VALUES (30,'node2_committed_after');
+COMMIT; +COMMIT;
+connection node_1; +connection node_1;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (31,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (32,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (33,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (34,'node1_to_be_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after'); +INSERT INTO t1 (id,f1) VALUES (35,'node1_to_be_committed_after');
+COMMIT; +COMMIT;
+SET AUTOCOMMIT=OFF; +SET AUTOCOMMIT=OFF;
+START TRANSACTION; +START TRANSACTION;
+INSERT INTO t1 (f1) VALUES ('node1_committed_after'); +INSERT INTO t1 (id,f1) VALUES (36,'node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after'); +INSERT INTO t1 (id,f1) VALUES (37,'node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after'); +INSERT INTO t1 (id,f1) VALUES (38,'node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after'); +INSERT INTO t1 (id,f1) VALUES (39,'node1_committed_after');
+INSERT INTO t1 (f1) VALUES ('node1_committed_after'); +INSERT INTO t1 (id,f1) VALUES (40,'node1_committed_after');
+COMMIT; +COMMIT;
+connection node_1a_galera_st_kill_slave_ddl; +connection node_1a_galera_st_kill_slave_ddl;
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (41,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (42,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (43,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (44,'node1_to_be_rollbacked_after');
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after'); +INSERT INTO t1 (id,f1) VALUES (45,'node1_to_be_rollbacked_after');
+ROLLBACK; +ROLLBACK;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; +SET AUTOCOMMIT=ON;
+COUNT(*) = 2 +SET SESSION wsrep_sync_wait=15;
+1 +SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 35 FROM t1; +EXPECT_3
+COUNT(*) = 35 +3
+1 +SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; +SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0 +COUNT(*) = 0
+1 +1
+COMMIT; +COMMIT;
+SET AUTOCOMMIT=ON;
+connection node_1; +connection node_1;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; +SET AUTOCOMMIT=ON;
+COUNT(*) = 2 +SET SESSION wsrep_sync_wait=15;
+1 +SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+SELECT COUNT(*) = 35 FROM t1; +EXPECT_3
+COUNT(*) = 35 +3
+1 +SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; +SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0 +COUNT(*) = 0
+1 +1
+DROP TABLE t1; +DROP TABLE t1;
+COMMIT; +COMMIT;
+SET AUTOCOMMIT=ON;
+SET GLOBAL debug_dbug = $debug_orig; +SET GLOBAL debug_dbug = $debug_orig;
disconnect node_2; disconnect node_2;
disconnect node_1; disconnect node_1;
connection node_2;
connection node_1;
connection node_1; connection node_1;
connection node_2; connection node_2;
connection node_2; connection node_2;
connection node_1; connection node_1;
Performing State Transfer on a server that has been shut down cleanly and restarted Performing State Transfer on a server that has been shut down cleanly and restarted
connection node_1; connection node_1;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB; CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (1,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (2,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (3,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (4,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (5,'node1_committed_before');
COMMIT; COMMIT;
connection node_2; connection node_2;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (6,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (7,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (8,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (9,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (10,'node2_committed_before');
COMMIT; COMMIT;
Shutting down server ... Shutting down server ...
connection node_1; connection node_1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (11,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (12,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (13,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (14,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (15,'node1_committed_during');
COMMIT; COMMIT;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (16,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (17,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (18,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (19,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (20,'node1_to_be_committed_after');
connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after');
connection node_2; connection node_2;
Starting server ... Starting server ...
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (26,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (27,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (28,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (29,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (30,'node2_committed_after');
COMMIT; COMMIT;
connection node_1; connection node_1;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (31,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (32,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (33,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (34,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (35,'node1_to_be_committed_after');
COMMIT; COMMIT;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (36,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (37,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (38,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (39,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (40,'node1_committed_after');
COMMIT; COMMIT;
connection node_1a_galera_st_shutdown_slave; connection node_1a_galera_st_shutdown_slave;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after');
ROLLBACK; ROLLBACK;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
connection node_1; connection node_1;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
DROP TABLE t1; DROP TABLE t1;
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that starts from a clean var directory Performing State Transfer on a server that starts from a clean var directory
This is accomplished by shutting down node #2 and removing its var directory before restarting it This is accomplished by shutting down node #2 and removing its var directory before restarting it
connection node_1; connection node_1;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB; CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (1,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (2,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (3,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (4,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (5,'node1_committed_before');
COMMIT; COMMIT;
connection node_2; connection node_2;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (6,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (7,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (8,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (9,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (10,'node2_committed_before');
COMMIT; COMMIT;
Shutting down server ... Shutting down server ...
connection node_1; connection node_1;
Cleaning var directory ... Cleaning var directory ...
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (11,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (12,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (13,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (14,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (15,'node1_committed_during');
COMMIT; COMMIT;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (16,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (17,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (18,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (19,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (20,'node1_to_be_committed_after');
connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after');
connection node_2; connection node_2;
Starting server ... Starting server ...
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (26,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (27,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (28,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (29,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (30,'node2_committed_after');
COMMIT; COMMIT;
connection node_1; connection node_1;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (31,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (32,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (33,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (34,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (35,'node1_to_be_committed_after');
COMMIT; COMMIT;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (36,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (37,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (38,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (39,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (40,'node1_committed_after');
COMMIT; COMMIT;
connection node_1a_galera_st_clean_slave; connection node_1a_galera_st_clean_slave;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after');
ROLLBACK; ROLLBACK;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
connection node_1; connection node_1;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
DROP TABLE t1; DROP TABLE t1;
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that has been killed and restarted Performing State Transfer on a server that has been killed and restarted
connection node_1; connection node_1;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB; CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (1,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (2,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (3,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (4,'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before'); INSERT INTO t1 VALUES (5,'node1_committed_before');
COMMIT; COMMIT;
connection node_2; connection node_2;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (6,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (7,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (8,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (9,'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before'); INSERT INTO t1 VALUES (10,'node2_committed_before');
COMMIT; COMMIT;
Killing server ... Killing server ...
connection node_1; connection node_1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (11,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (12,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (13,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (14,'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during'); INSERT INTO t1 VALUES (15,'node1_committed_during');
COMMIT; COMMIT;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (16,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (17,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (18,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (19,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (20,'node1_to_be_committed_after');
connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after');
connection node_2; connection node_2;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Starting server ... Starting server ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (26,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (27,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (28,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (29,'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after'); INSERT INTO t1 VALUES (30,'node2_committed_after');
COMMIT; COMMIT;
connection node_1; connection node_1;
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (31,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (32,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (33,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (34,'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after'); INSERT INTO t1 VALUES (35,'node1_to_be_committed_after');
COMMIT; COMMIT;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (36,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (37,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (38,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (39,'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after'); INSERT INTO t1 VALUES (40,'node1_committed_after');
COMMIT; COMMIT;
connection node_1a_galera_st_kill_slave; connection node_1a_galera_st_kill_slave;
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after'); INSERT INTO t1 VALUES (46,'node1_to_be_rollbacked_after');
ROLLBACK; ROLLBACK;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
connection node_1; connection node_1;
SELECT COUNT(*) = 35 FROM t1; SET AUTOCOMMIT=ON;
COUNT(*) = 35 SET SESSION wsrep_sync_wait=15;
1 SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0 COUNT(*) = 0
1 1
DROP TABLE t1; DROP TABLE t1;
COMMIT; COMMIT;
SET AUTOCOMMIT=ON;
disconnect node_2; disconnect node_2;
disconnect node_1; disconnect node_1;
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
[mysqld] [mysqld]
wsrep_sst_method=mariabackup wsrep_sst_method=mariabackup
wsrep_sst_auth="root:" wsrep_sst_auth="root:"
loose_wsrep_debug=ON wsrep_debug=1
[mysqld.1] [mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true' wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
......
--source include/big_test.inc --source include/big_test.inc
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/galera_have_debug_sync.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_mariabackup.inc --source include/have_mariabackup.inc
...@@ -33,10 +32,10 @@ ...@@ -33,10 +32,10 @@
# Restore original auto_increment_offset values. # Restore original auto_increment_offset values.
--source include/auto_increment_offset_restore.inc --source include/auto_increment_offset_restore.inc
--let sst_test_true_count=7 --let sst_test_true_count=6
if (`select version() like '%debug%'`) --source include/maybe_debug.inc
{ if ($have_debug) {
--let sst_test_true_count=10 --let sst_test_true_count=6
} }
--source include/galera_end.inc --source include/galera_end.inc
...@@ -46,16 +45,17 @@ if (`select version() like '%debug%'`) ...@@ -46,16 +45,17 @@ if (`select version() like '%debug%'`)
--perl --perl
use strict; use strict;
use warnings; use warnings;
my $file= $ENV{'MYSQLTEST_VARDIR'}.'/tmp/logarchive_list'; my $file=$ENV{'MYSQLTEST_VARDIR'}.'/tmp/logarchive_list';
my $count= 0; my $count=0;
open(FILE, "$file") or die("Error $? opening $file: $!\n"); open(FILE, "$file") or die("Error $? opening $file: $!\n");
while (<FILE>) { while (<FILE>) {
my $line = $_; my $line = $_;
$count++; $count++;
} }
close(FILE) or die("Error $? closing $file: $!"); close(FILE) or die("Error $? closing $file: $!");
if ($count != $ENV{'sst_test_true_count'}) { my $true_count=$ENV{'sst_test_true_count'};
die("Wrong log archives counter: $count"); if ($count != $true_count) {
die("Wrong log archives counter: $count instead of $true_count");
} }
EOF EOF
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
log-bin loose-innodb
log-bin=mysqld-bin
log-slave-updates log-slave-updates
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2 innodb-autoinc-lock-mode=2
...@@ -13,92 +14,71 @@ auto_increment_increment=3 ...@@ -13,92 +14,71 @@ auto_increment_increment=3
wsrep-provider=@ENV.WSREP_PROVIDER wsrep-provider=@ENV.WSREP_PROVIDER
# enforce read-committed characteristics across the cluster # enforce read-committed characteristics across the cluster
# wsrep-causal-reads=ON
wsrep-sync-wait=15 wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_cluster_address=gcomm://
wsrep-cluster-address='gcomm://' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S'
wsrep_sst_receive_address=127.0.0.2:@mysqld.1.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
[mysqld.2] [mysqld.2]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
[mysqld.3] [mysqld.3]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.3.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
<<<<<<< HEAD
||||||| 3c99a48db31
wsrep-on=1
=======
>>>>>>> origin/st-10.3-marko
[mysqld.4] [mysqld.4]
wsrep_cluster_name=cluster2 wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1 wsrep_cluster_address='gcomm://
wsrep-cluster-address='gcomm://' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S'
wsrep_sst_receive_address=127.0.0.2:@mysqld.4.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
[mysqld.5] [mysqld.5]
wsrep_cluster_name=cluster2 wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.5.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.5.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.5.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.5.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.5.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.5.port wsrep_node_incoming_address=127.0.0.1:@mysqld.5.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.5.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.5.#sst_port'
[mysqld.6] [mysqld.6]
wsrep_cluster_name=cluster2 wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.4.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.6.#galera_port;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT90S;evs.install_timeout=PT60S;pc.wait_prim_timeout = PT60S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.6.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.6.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.6.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.6.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.6.port wsrep_node_incoming_address=127.0.0.1:@mysqld.6.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.6.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.6.#sst_port'
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
!include include/default_mysqld.cnf !include include/default_mysqld.cnf
[mysqld] [mysqld]
loose-innodb
binlog-format=row binlog-format=row
innodb-autoinc-lock-mode=2 innodb-autoinc-lock-mode=2
default-storage-engine=innodb default-storage-engine=innodb
...@@ -9,45 +10,38 @@ auto_increment_increment=3 ...@@ -9,45 +10,38 @@ auto_increment_increment=3
wsrep-provider=@ENV.WSREP_PROVIDER wsrep-provider=@ENV.WSREP_PROVIDER
# enforce read-committed characteristics across the cluster # enforce read-committed characteristics across the cluster
wsrep-causal-reads=ON # wsrep-causal-reads=ON
wsrep-sync-wait=15 wsrep-sync-wait=15
[mysqld.1] [mysqld.1]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
#wsrep-new-cluster wsrep_cluster_address=gcomm://
wsrep-on=1 wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep-cluster-address='gcomm://'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S'
wsrep_sst_receive_address=127.0.0.2:@mysqld.1.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
[mysqld.2] [mysqld.2]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.2.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
[mysqld.3] [mysqld.3]
wsrep-on=1
#galera_port=@OPT.port #galera_port=@OPT.port
#ist_port=@OPT.port #ist_port=@OPT.port
#sst_port=@OPT.port #sst_port=@OPT.port
wsrep-on=1
wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port'
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S' wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_sst_receive_address=127.0.0.2:@mysqld.3.#sst_port
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port' wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port' wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
......
...@@ -33,8 +33,6 @@ DROP TABLE ten; ...@@ -33,8 +33,6 @@ DROP TABLE ten;
Restarting node #3 to satisfy MTR's end-of-test checks Restarting node #3 to satisfy MTR's end-of-test checks
connection node_3; connection node_3;
connection node_1; connection node_1;
SET GLOBAL innodb_max_dirty_pages_pct = 75.000000;
SET GLOBAL innodb_max_dirty_pages_pct_lwm = 0.000000;
connection node_1; connection node_1;
CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)"); CALL mtr.add_suppression("WSREP: Protocol violation\. JOIN message sender 1\.0 \(.*\) is not in state transfer \(SYNCED\)");
connection node_2; connection node_2;
......
...@@ -119,8 +119,10 @@ let $restart_noprint=2; ...@@ -119,8 +119,10 @@ let $restart_noprint=2;
--source include/start_mysqld.inc --source include/start_mysqld.inc
--connection node_1 --connection node_1
--disable_query_log
--eval SET GLOBAL innodb_max_dirty_pages_pct = $innodb_max_dirty_pages_pct --eval SET GLOBAL innodb_max_dirty_pages_pct = $innodb_max_dirty_pages_pct
--eval SET GLOBAL innodb_max_dirty_pages_pct_lwm = $innodb_max_dirty_pages_pct_lwm --eval SET GLOBAL innodb_max_dirty_pages_pct_lwm = $innodb_max_dirty_pages_pct_lwm
--enable_query_log
--source ../galera/include/auto_increment_offset_restore.inc --source ../galera/include/auto_increment_offset_restore.inc
......
...@@ -443,13 +443,6 @@ EOF ...@@ -443,13 +443,6 @@ EOF
elif tar --version | grep -q -E '^bsdtar\>'; then elif tar --version | grep -q -E '^bsdtar\>'; then
tar_type=2 tar_type=2
fi fi
if [ $tar_type -ne 2 ]; then
if [ -n "$BASH_VERSION" ]; then
printf '%s' "$binlog_files" >&2
else
echo "$binlog_files" >&2
fi
fi
if [ $tar_type -ne 0 ]; then if [ $tar_type -ne 0 ]; then
# Preparing list of the binlog file names: # Preparing list of the binlog file names:
echo "$binlog_files" | { echo "$binlog_files" | {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment