Commit 72f1384c authored by Daniel Black's avatar Daniel Black

Merge branch 10.4 into 10.5

parents 85181653 382e85fe
...@@ -6,30 +6,32 @@ ...@@ -6,30 +6,32 @@
# #
# Edit parameters below to specify the address and login to server: # Edit parameters below to specify the address and login to server:
# #
USER=root USER='root'
PSWD= PSWD=''
# #
# If these parameters are not set, then the values # If these parameters are not set, then the values
# passed by the server are taken: # passed by the server are taken:
# #
HOST=127.0.0.1 HOST="127.0.0.1"
PORT=$NODE_MYPORT_1 PORT=$NODE_MYPORT_1
# #
# Edit parameters below to specify SSL parameters: # Edit parameters below to specify SSL parameters:
# #
ssl_key= ssl_cert=""
ssl_cert= ssl_key=""
ssl_ca= ssl_ca=""
ssl_capath= ssl_capath=""
ssl_cipher= ssl_cipher=""
ssl_crl= ssl_crl=""
ssl_crlpath= ssl_crlpath=""
ssl_verify_server_cert=0 ssl_verify_server_cert=0
# #
# Client executable path: # Client executable path:
# #
CLIENT="$EXE_MYSQL" CLIENT="$EXE_MYSQL"
#
# Name of schema and tables:
#
SCHEMA="mtr_wsrep_notify" SCHEMA="mtr_wsrep_notify"
MEMB_TABLE="$SCHEMA.membership" MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status" STATUS_TABLE="$SCHEMA.status"
...@@ -67,7 +69,7 @@ configuration_change() ...@@ -67,7 +69,7 @@ configuration_change()
# Don't forget to properly quote string values # Don't forget to properly quote string values
echo "'$NODE'" | sed s/\\//\',\'/g echo "'$NODE'" | sed s/\\//\',\'/g
echo ");" echo ");"
idx=$(( $idx + 1 )) idx=$(( $idx+1 ))
done done
echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"
...@@ -102,34 +104,35 @@ trim_string() ...@@ -102,34 +104,35 @@ trim_string()
fi fi
} }
COM=status_update # not a configuration change by default COM='status_update' # not a configuration change by default
STATUS="" STATUS=""
CLUSTER_UUID="" CLUSTER_UUID=""
PRIMARY="0" PRIMARY=0
INDEX="" INDEX=""
MEMBERS="" MEMBERS=""
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case $1 in case $1 in
--status) '--status')
STATUS=$(trim_string "$2") STATUS=$(trim_string "$2")
shift shift
;; ;;
--uuid) '--uuid')
CLUSTER_UUID=$(trim_string "$2") CLUSTER_UUID=$(trim_string "$2")
shift shift
;; ;;
--primary) '--primary')
[ "$2" = "yes" ] && PRIMARY="1" || PRIMARY="0" arg=$(trim_string "$2")
COM=configuration_change [ "$arg" = 'yes' ] && PRIMARY=1 || PRIMARY=0
COM='configuration_change'
shift shift
;; ;;
--index) '--index')
INDEX=$(trim_string "$2") INDEX=$(trim_string "$2")
shift shift
;; ;;
--members) '--members')
MEMBERS=$(trim_string "$2") MEMBERS=$(trim_string "$2")
shift shift
;; ;;
...@@ -168,9 +171,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert"); ...@@ -168,9 +171,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");
SSL_PARAM="" SSL_PARAM=""
if [ -n "$ssl_key" -o -n "$ssl_cert" -o \ if [ -n "$ssl_key$ssl_cert$ssl_ca$ssl_capath$ssl_cipher$ssl_crl$ssl_crlpath" ]
-n "$ssl_ca" -o -n "$ssl_capath" -o \
-n "$ssl_cipher" ]
then then
SSL_PARAM=' --ssl' SSL_PARAM=' --ssl'
[ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'" [ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
...@@ -181,8 +182,10 @@ then ...@@ -181,8 +182,10 @@ then
[ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'" [ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
[ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'" [ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
if [ -n "$ssl_verify_server_cert" ]; then if [ -n "$ssl_verify_server_cert" ]; then
if [ $ssl_verify_server_cert -ne 0 ]; then if [ "$ssl_verify_server_cert" != "0" -o \
SSL_PARAM+=' --ssl-verify-server-cert' "$ssl_verify_server_cert" = "on" ]
then
SSL_PARAM="$SSL_PARAM --ssl-verify-server-cert"
fi fi
fi fi
fi fi
......
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
# #
# Edit parameters below to specify the address and login to server: # Edit parameters below to specify the address and login to server:
# #
USER=root USER='root'
PSWD= PSWD=''
# #
# If these parameters are not set, then the values # If these parameters are not set, then the values
# passed by the server are taken: # passed by the server are taken:
# #
HOST=127.0.0.1 HOST="127.0.0.1"
PORT=$NODE_MYPORT_1 PORT=$NODE_MYPORT_1
# #
# Edit parameters below to specify SSL parameters: # Edit parameters below to specify SSL parameters:
...@@ -20,16 +20,18 @@ PORT=$NODE_MYPORT_1 ...@@ -20,16 +20,18 @@ PORT=$NODE_MYPORT_1
ssl_cert="$MYSQL_TEST_DIR/std_data/client-cert.pem" ssl_cert="$MYSQL_TEST_DIR/std_data/client-cert.pem"
ssl_key="$MYSQL_TEST_DIR/std_data/client-key.pem" ssl_key="$MYSQL_TEST_DIR/std_data/client-key.pem"
ssl_ca="$MYSQL_TEST_DIR/std_data/cacert.pem" ssl_ca="$MYSQL_TEST_DIR/std_data/cacert.pem"
ssl_capath= ssl_capath=""
ssl_cipher= ssl_cipher=""
ssl_crl= ssl_crl=""
ssl_crlpath= ssl_crlpath=""
ssl_verify_server_cert=0 ssl_verify_server_cert=0
# #
# Client executable path: # Client executable path:
# #
CLIENT="$EXE_MYSQL" CLIENT="$EXE_MYSQL"
#
# Name of schema and tables:
#
SCHEMA="mtr_wsrep_notify" SCHEMA="mtr_wsrep_notify"
MEMB_TABLE="$SCHEMA.membership" MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status" STATUS_TABLE="$SCHEMA.status"
...@@ -67,7 +69,7 @@ configuration_change() ...@@ -67,7 +69,7 @@ configuration_change()
# Don't forget to properly quote string values # Don't forget to properly quote string values
echo "'$NODE'" | sed s/\\//\',\'/g echo "'$NODE'" | sed s/\\//\',\'/g
echo ");" echo ");"
idx=$(( $idx + 1 )) idx=$(( $idx+1 ))
done done
echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"
...@@ -102,34 +104,35 @@ trim_string() ...@@ -102,34 +104,35 @@ trim_string()
fi fi
} }
COM=status_update # not a configuration change by default COM='status_update' # not a configuration change by default
STATUS="" STATUS=""
CLUSTER_UUID="" CLUSTER_UUID=""
PRIMARY="0" PRIMARY=0
INDEX="" INDEX=""
MEMBERS="" MEMBERS=""
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case $1 in case $1 in
--status) '--status')
STATUS=$(trim_string "$2") STATUS=$(trim_string "$2")
shift shift
;; ;;
--uuid) '--uuid')
CLUSTER_UUID=$(trim_string "$2") CLUSTER_UUID=$(trim_string "$2")
shift shift
;; ;;
--primary) '--primary')
[ "$2" = "yes" ] && PRIMARY="1" || PRIMARY="0" arg=$(trim_string "$2")
COM=configuration_change [ "$arg" = 'yes' ] && PRIMARY=1 || PRIMARY=0
COM='configuration_change'
shift shift
;; ;;
--index) '--index')
INDEX=$(trim_string "$2") INDEX=$(trim_string "$2")
shift shift
;; ;;
--members) '--members')
MEMBERS=$(trim_string "$2") MEMBERS=$(trim_string "$2")
shift shift
;; ;;
...@@ -168,9 +171,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert"); ...@@ -168,9 +171,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");
SSL_PARAM="" SSL_PARAM=""
if [ -n "$ssl_key" -o -n "$ssl_cert" -o \ if [ -n "$ssl_key$ssl_cert$ssl_ca$ssl_capath$ssl_cipher$ssl_crl$ssl_crlpath" ]
-n "$ssl_ca" -o -n "$ssl_capath" -o \
-n "$ssl_cipher" ]
then then
SSL_PARAM=' --ssl' SSL_PARAM=' --ssl'
[ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'" [ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
...@@ -181,8 +182,10 @@ then ...@@ -181,8 +182,10 @@ then
[ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'" [ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
[ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'" [ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
if [ -n "$ssl_verify_server_cert" ]; then if [ -n "$ssl_verify_server_cert" ]; then
if [ $ssl_verify_server_cert -ne 0 ]; then if [ "$ssl_verify_server_cert" != "0" -o \
SSL_PARAM+=' --ssl-verify-server-cert' "$ssl_verify_server_cert" = "on" ]
then
SSL_PARAM="$SSL_PARAM --ssl-verify-server-cert"
fi fi
fi fi
fi fi
......
...@@ -10,28 +10,16 @@ ...@@ -10,28 +10,16 @@
# #
############################################################################## ##############################################################################
GCF-939 : MDEV-21520 galera.GCF-939
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_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_kill_debug : MDEV-24485 wsrep::client_state::do_acquire_ownership(): Assertion `state_ == s_idle || mode_ != m_local' failed galera_bf_kill_debug : MDEV-24485 wsrep::client_state::do_acquire_ownership(): Assertion `state_ == s_idle || mode_ != m_local' failed
galera_bf_lock_wait : MDEV-21597 wsrep::transaction::start_transaction(): Assertion `active() == false' failed
galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files
galera_gcache_recover_manytrx : MDEV-18834 Galera test failure
galera_parallel_simple : MDEV-20318 galera.galera_parallel_simple fails
galera_pc_recovery : MDEV-25199 cluster fails to start up galera_pc_recovery : MDEV-25199 cluster fails to start up
galera_shutdown_nonprim : MDEV-21493 galera.galera_shutdown_nonprim galera_sst_encrypted : MDEV-29876 Galera test failure on galera_sst_encrypted
galera_var_ignore_apply_errors : MDEV-26770 galera_var_ignore_apply_errors fails Server did not transition to READY state galera.MW-284 : MDEV-29861 Galera test case hangs
galera.galera_binlog_checksum : MDEV-29861 Galera test case hangs
galera_var_notify_ssl_ipv6 : MDEV-29861 Galera test case hangs
galera_var_node_address : MDEV-20485 Galera test failure galera_var_node_address : MDEV-20485 Galera test failure
galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang
galera_var_notify_ssl_ipv6 : hangs after the merge of MDEV-27682 galera_var_notify_ssl_ipv6 : hangs after the merge of MDEV-27682
galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit
partition : MDEV-19958 Galera test failure on galera.partition
query_cache : MDEV-15805 Test failure on galera.query_cache
versioning_trx_id : MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_bf_abort_at_after_statement : Unstable
galera_bf_abort_shutdown : MDEV-29773 Assertion failure on sql/wsrep_mysqld.cc:2893 in wsrep_bf_abort_shutdown galera_bf_abort_shutdown : MDEV-29773 Assertion failure on sql/wsrep_mysqld.cc:2893 in wsrep_bf_abort_shutdown
galera.MW-284 : MDEV-29861: Galera test case hangs MDEV-26575 : MDEV-29878 Galera test failure on MDEV-26575
galera.galera_binlog_checksum : MDEV-29861: Galera test case hangs
galera_var_notify_ssl_ipv6 : MDEV-29861: Galera test case hangs
...@@ -94,6 +94,7 @@ CALL insert_1m ();; ...@@ -94,6 +94,7 @@ CALL insert_1m ();;
connection node_1_insert_10m; connection node_1_insert_10m;
CALL insert_10m ();; CALL insert_10m ();;
connection node_2; connection node_2;
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
Killing server ... Killing server ...
connection node_1; connection node_1;
...@@ -130,9 +131,11 @@ DROP PROCEDURE update_simple; ...@@ -130,9 +131,11 @@ DROP PROCEDURE update_simple;
DROP PROCEDURE insert_1k; DROP PROCEDURE insert_1k;
DROP PROCEDURE insert_1m; DROP PROCEDURE insert_1m;
connection node_1; connection node_1;
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
CALL mtr.add_suppression("conflict state 7 after post commit"); CALL mtr.add_suppression("conflict state 7 after post commit");
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [async IST sender starting to serve] include/assert_grep.inc [async IST sender starting to serve]
connection node_2; connection node_2;
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence] include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
connection node_2; connection node_2;
connection node_1; connection node_1;
connection node_1; connection node_1;
connection node_2;
connection node_2;
Shutting down server ...
connection node_1;
connection node_2;
Cleaning grastate.dat file ...
Starting server ...
connection node_1;
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
VARIABLE_VALUE VARIABLE_VALUE
Primary Primary
...@@ -38,3 +46,7 @@ VARIABLE_VALUE ...@@ -38,3 +46,7 @@ VARIABLE_VALUE
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
VARIABLE_VALUE VARIABLE_VALUE
Synced Synced
Shutting down server ...
Cleaning var directory ...
Starting server ...
connection node_1;
...@@ -57,7 +57,7 @@ Table Create Table ...@@ -57,7 +57,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`i` int(10) unsigned NOT NULL AUTO_INCREMENT, `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`i`) PRIMARY KEY (`i`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1 ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY RANGE (`i`) PARTITION BY RANGE (`i`)
(PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB, (PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION `p2` VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION `p2` VALUES LESS THAN (20) ENGINE = InnoDB,
...@@ -67,7 +67,7 @@ Table Create Table ...@@ -67,7 +67,7 @@ Table Create Table
p1 CREATE TABLE `p1` ( p1 CREATE TABLE `p1` (
`i` int(10) unsigned NOT NULL AUTO_INCREMENT, `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`i`) PRIMARY KEY (`i`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT * FROM test.t1; SELECT * FROM test.t1;
i i
19 19
...@@ -94,7 +94,7 @@ Table Create Table ...@@ -94,7 +94,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`i` int(10) unsigned NOT NULL AUTO_INCREMENT, `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`i`) PRIMARY KEY (`i`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY RANGE (`i`) PARTITION BY RANGE (`i`)
(PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB, (PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION `pMax` VALUES LESS THAN MAXVALUE ENGINE = InnoDB) PARTITION `pMax` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
...@@ -106,7 +106,7 @@ Table Create Table ...@@ -106,7 +106,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`i` int(10) unsigned NOT NULL AUTO_INCREMENT, `i` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`i`) PRIMARY KEY (`i`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY RANGE (`i`) PARTITION BY RANGE (`i`)
(PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB, (PARTITION `p1` VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION `pMax` VALUES LESS THAN MAXVALUE ENGINE = InnoDB) PARTITION `pMax` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
......
This diff is collapsed.
...@@ -126,6 +126,7 @@ DELIMITER ;| ...@@ -126,6 +126,7 @@ DELIMITER ;|
--send CALL insert_10m (); --send CALL insert_10m ();
--connection node_2 --connection node_2
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
# Make sure that node_2 is not killed while TOIs are applied. # Make sure that node_2 is not killed while TOIs are applied.
...@@ -199,6 +200,7 @@ DROP PROCEDURE insert_1k; ...@@ -199,6 +200,7 @@ DROP PROCEDURE insert_1k;
DROP PROCEDURE insert_1m; DROP PROCEDURE insert_1m;
--connection node_1 --connection node_1
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
CALL mtr.add_suppression("conflict state 7 after post commit"); CALL mtr.add_suppression("conflict state 7 after post commit");
# Warning happens when the cluster is started for the first time # Warning happens when the cluster is started for the first time
...@@ -213,6 +215,7 @@ CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); ...@@ -213,6 +215,7 @@ CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
--source include/assert_grep.inc --source include/assert_grep.inc
--connection node_2 --connection node_2
call mtr.add_suppression("Error in Log_event::read_log_event():.*");
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
# Confirm that gcache recovery took place # Confirm that gcache recovery took place
......
...@@ -7,14 +7,14 @@ ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem ...@@ -7,14 +7,14 @@ ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
bind-address=:: bind-address=::
[mysqld.1] [mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port;gcache.size=1;pc.ignore_sb=true' wsrep_provider_options='base_host=[::1];base_port=@mysqld.1.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.1.#galera_port;ist.recv_addr=[::1]:@mysqld.1.#ist_port;repl.causal_read_timeout=PT90S;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_incoming_address='[::1]:@mysqld.1.port' wsrep_node_incoming_address='[::1]:@mysqld.1.port'
wsrep_node_address=::1 wsrep_node_address=[::1]:@mysqld.1.#galera_port
wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port' wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
[mysqld.2] [mysqld.2]
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port' wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port;gcache.size=1;pc.ignore_sb=true' wsrep_provider_options='base_host=[::1];base_port=@mysqld.2.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.2.#galera_port;ist.recv_addr=[::1]:@mysqld.2.#ist_port;repl.causal_read_timeout=PT90S;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;gcache.size=10M'
wsrep_node_address=::1
wsrep_node_incoming_address='[::1]:@mysqld.2.port' wsrep_node_incoming_address='[::1]:@mysqld.2.port'
wsrep_node_address=[::1]:@mysqld.2.#galera_port
wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port' wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
...@@ -6,6 +6,34 @@ ...@@ -6,6 +6,34 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
--connection node_2
--echo Shutting down server ...
--source include/shutdown_mysqld.inc
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
--source include/wait_condition.inc
--connection node_2
#
# Delete grastate.dat with safe_to_bootstrap: 0
#
--echo Cleaning grastate.dat file ...
--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
--echo Starting server ...
--let $restart_noprint=2
--let $start_mysqld_params="--wsrep-new-cluster"
--source include/start_mysqld.inc
--source include/wait_until_ready.inc
--connection node_1 --connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; --let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
...@@ -37,3 +65,29 @@ SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBA ...@@ -37,3 +65,29 @@ SELECT (VARIABLE_VALUE = 0 OR VARIABLE_VALUE = 1 ) FROM INFORMATION_SCHEMA.GLOBA
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state'; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state';
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment'; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
--echo Shutting down server ...
--source include/shutdown_mysqld.inc
#
# Force SST
#
--echo Cleaning var directory ...
--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mtr
--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/performance_schema
--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/test
--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data/mysql
--remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.2/data
--echo Starting server ...
--let $start_mysqld_params=
--source include/start_mysqld.inc
--source include/wait_until_ready.inc
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
--source include/wait_condition.inc
--source include/auto_increment_offset_restore.inc
!include ../galera_2nodes.cnf
[mysqld.1]
query_cache_type=1
[mysqld.2]
query_cache_type=1
This diff is collapsed.
...@@ -10,23 +10,5 @@ ...@@ -10,23 +10,5 @@
# #
############################################################################## ##############################################################################
GAL-501 : MDEV-24645 galera_3nodes.GAL-501 MTR failed: failed to open gcomm backend connection: 110 galera_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
galera_2_cluster : MDEV-22195 temporarily disabled due to issues to be fixed with MDEV-22195 galera_gtid_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
galera_gtid_2_cluster : MDEV-23775 Galera test failure on galera_3nodes.galera_gtid_2_cluster
galera_ist_gcache_rollover : MDEV-23578 WSREP: exception caused by message: {v=0,t=1,ut=255,o=4,s=0,sr=0,as=1,f=6,src=50524cfe,srcvid=view_id(REG,50524cfe,4),insvid=view_id(UNKNOWN,00000000,0),ru=00000000,r=[-1,-1],fs=75,nl=(}
galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to MySQL server during query
galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to MySQL server during query
galera_parallel_apply_3nodes : MDEV-29368 DEBUG_SYNC timeout
galera_pc_bootstrap : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_safe_to_bootstrap : MDEV-24097 galera_3nodes.galera_safe_to_bootstrap MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_slave_options_do : MDEV-8798
galera_slave_options_ignore : MDEV-8798
galera_vote_rejoin_mysqldump : MDEV-24481: galera_3nodes.galera_vote_rejoin_mysqldump MTR failed: mysql_shutdown failed
galera_ipv6_mariabackup : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ipv6_mariabackup_section : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ipv6_rsync : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ipv6_rsync_section : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ssl_reload : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_toi_vote : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_wsrep_schema_init : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_parallel_apply_3nodes : MDEV-29774 Galera test galera_parallel_apply_3nodes is unstable
...@@ -65,5 +65,5 @@ Table Create Table ...@@ -65,5 +65,5 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`f1` int(11) NOT NULL, `f1` int(11) NOT NULL,
PRIMARY KEY (`f1`) PRIMARY KEY (`f1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
DROP TABLE t1; DROP TABLE t1;
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO db1.t1 VALUES (1);
INSERT INTO db2.t2A VALUES (2);
INSERT INTO db2.t2B VALUES (3);
SELECT COUNT(*) = 0 FROM db1.t1;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM db2.t2A;
COUNT(*) = 0
1
SELECT COUNT(*) = 1 FROM db2.t2B;
COUNT(*) = 1
1
SELECT COUNT(*) = 0 FROM db1.t1;
COUNT(*) = 0
1
SELECT COUNT(*) = 1 FROM db2.t2A;
COUNT(*) = 1
1
SELECT COUNT(*) = 1 FROM db2.t2B;
COUNT(*) = 1
1
DROP SCHEMA db1;
DROP SCHEMA db2;
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO db1.t1 VALUES (1);
INSERT INTO db2.t2A VALUES (2);
INSERT INTO db2.t2B VALUES (3);
SELECT COUNT(*) = 0 FROM db1.t1;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM db2.t2A;
COUNT(*) = 0
1
SELECT COUNT(*) = 1 FROM db2.t2B;
COUNT(*) = 1
1
SELECT COUNT(*) = 0 FROM db1.t1;
COUNT(*) = 0
1
SELECT COUNT(*) = 1 FROM db2.t2A;
COUNT(*) = 1
1
SELECT COUNT(*) = 1 FROM db2.t2B;
COUNT(*) = 1
1
DROP SCHEMA db1;
DROP SCHEMA db2;
...@@ -47,7 +47,7 @@ SHOW CREATE TABLE t1; ...@@ -47,7 +47,7 @@ SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`f1` int(11) DEFAULT NULL `f1` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
connection node_2; connection node_2;
SET SESSION wsrep_on=OFF; SET SESSION wsrep_on=OFF;
SET SESSION wsrep_on=ON; SET SESSION wsrep_on=ON;
...@@ -56,7 +56,7 @@ SHOW CREATE TABLE t1; ...@@ -56,7 +56,7 @@ SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`f1` int(11) DEFAULT NULL `f1` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT COUNT(*) AS expect_0 FROM t1; SELECT COUNT(*) AS expect_0 FROM t1;
expect_0 expect_0
0 0
...@@ -66,7 +66,7 @@ SHOW CREATE TABLE t1; ...@@ -66,7 +66,7 @@ SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`f1` int(11) DEFAULT NULL `f1` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
DROP TABLE t1; DROP TABLE t1;
CALL mtr.add_suppression("Slave SQL: Error 'Can't DROP 'PRIMARY'; check that column/key exists'"); CALL mtr.add_suppression("Slave SQL: Error 'Can't DROP 'PRIMARY'; check that column/key exists'");
connection node_1; connection node_1;
......
...@@ -14,7 +14,7 @@ wsrep_cluster CREATE TABLE `wsrep_cluster` ( ...@@ -14,7 +14,7 @@ wsrep_cluster CREATE TABLE `wsrep_cluster` (
`protocol_version` int(11) NOT NULL, `protocol_version` int(11) NOT NULL,
`capabilities` int(11) NOT NULL, `capabilities` int(11) NOT NULL,
PRIMARY KEY (`cluster_uuid`) PRIMARY KEY (`cluster_uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci STATS_PERSISTENT=0
SHOW CREATE TABLE mysql.wsrep_cluster_members; SHOW CREATE TABLE mysql.wsrep_cluster_members;
Table Create Table Table Create Table
wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` ( wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` (
...@@ -23,7 +23,7 @@ wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` ( ...@@ -23,7 +23,7 @@ wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` (
`node_name` char(32) NOT NULL, `node_name` char(32) NOT NULL,
`node_incoming_address` varchar(256) NOT NULL, `node_incoming_address` varchar(256) NOT NULL,
PRIMARY KEY (`node_uuid`) PRIMARY KEY (`node_uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci STATS_PERSISTENT=0
SELECT @@sql_safe_updates; SELECT @@sql_safe_updates;
@@sql_safe_updates @@sql_safe_updates
1 1
......
!include ../galera_3nodes.cnf
[mysqld.1]
binlog-do-db=db2
[mysqld.2]
replicate-wild-do-table=db2.t2B
#
# This tests checks the operation of binlog-do-db , replicate-wild-do-table
#
--source include/galera_cluster.inc
--source include/have_innodb.inc
--connection node_1
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO db1.t1 VALUES (1);
INSERT INTO db2.t2A VALUES (2);
INSERT INTO db2.t2B VALUES (3);
--connection node_2
SELECT COUNT(*) = 0 FROM db1.t1;
SELECT COUNT(*) = 0 FROM db2.t2A;
SELECT COUNT(*) = 1 FROM db2.t2B;
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connection node_3
SELECT COUNT(*) = 0 FROM db1.t1;
SELECT COUNT(*) = 1 FROM db2.t2A;
SELECT COUNT(*) = 1 FROM db2.t2B;
--connection node_1
DROP SCHEMA db1;
DROP SCHEMA db2;
!include ../galera_3nodes.cnf
[mysqld.1]
binlog-ignore-db=db1
[mysqld.2]
replicate-wild-ignore-table=db2.t2A
#
# This tests checks the operation of binlog-ignore-db , replicate-wild-ignore-table
#
--source include/galera_cluster.inc
--source include/have_innodb.inc
--connection node_1
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t1 (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2A (f1 INTEGER) ENGINE=InnoDB;
CREATE TABLE db2.t2B (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO db1.t1 VALUES (1);
INSERT INTO db2.t2A VALUES (2);
INSERT INTO db2.t2B VALUES (3);
--connection node_2
SELECT COUNT(*) = 0 FROM db1.t1;
SELECT COUNT(*) = 0 FROM db2.t2A;
SELECT COUNT(*) = 1 FROM db2.t2B;
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connection node_3
--source include/galera_wait_ready.inc
SELECT COUNT(*) = 0 FROM db1.t1;
SELECT COUNT(*) = 1 FROM db2.t2A;
SELECT COUNT(*) = 1 FROM db2.t2B;
--connection node_1
DROP SCHEMA db1;
DROP SCHEMA db2;
GCF-582 : ##############################################################################
GCF-810A : #
GCF-810B : # List the test cases that are to be disabled temporarily.
GCF-810C : #
galera_sr_kill_slave_after_apply_rollback2 : # Separate the test case name and the comment with ':'.
\ No newline at end of file #
# <testcasename> : MDEV-<xxxx> <comment>
#
# Do not use any TAB characters for whitespace.
#
##############################################################################
galera_sr_kill_slave_after_apply_rollback2 : MDEV-29892 Galera test failure on galera_sr_kill_slave_after_apply_rollback2
\ No newline at end of file
connection node_2;
connection node_1;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_1;
connection node_2;
connection node_3;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
connection node_2;
connection node_1;
connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1b;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
...@@ -7,17 +18,22 @@ INSERT INTO t1 VALUES (2); ...@@ -7,17 +18,22 @@ INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3); INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5); INSERT INTO t1 VALUES (5);
connection node_2;
# restart
SELECT COUNT(*) FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*) COUNT(*)
5 5
connection node_1;
SELECT COUNT(*) FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*) COUNT(*)
5 5
COMMIT; COMMIT;
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) COUNT(*)
5 0
connection node_2;
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) COUNT(*)
5 0
DROP TABLE t1; DROP TABLE t1;
disconnect node_1b;
connection node_2; connection node_2;
connection node_1; connection node_1;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_1;
connection node_2;
connection node_3;
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connection node_1; connection node_1;
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
......
SET GLOBAL debug="d,crash_last_fragment_commit_before_fragment_removal";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
crash_last_fragment_commit_before_fragment_removal
COMMIT;
Got one of the listed errors
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
SET GLOBAL debug="d,crash_last_fragment_commit_after_fragment_removal";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
crash_last_fragment_commit_after_fragment_removal
COMMIT;
Got one of the listed errors
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
SET GLOBAL debug="d,crash_replicate_fragment_success";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
crash_replicate_fragment_success
COMMIT;
Got one of the listed errors
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
SET GLOBAL debug="d,crash_replicate_fragment_after_certify";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
crash_replicate_fragment_after_certify
COMMIT;
Got one of the listed errors
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
SET GLOBAL debug="d,crash_replicate_fragment_before_certify";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
crash_replicate_fragment_before_certify
COMMIT;
Got one of the listed errors
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
DROP TABLE t1;
SET GLOBAL debug="d,crash_apply_cb_before_append_frag";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
SET GLOBAL debug="d,crash_apply_cb_after_append_frag";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
COMMIT;
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(DISTINCT node_uuid) = 1 FROM mysql.wsrep_streaming_log;
COUNT(DISTINCT node_uuid) = 1
1
COMMIT;
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug = '';
CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member");
DROP TABLE t1;
SET GLOBAL debug="d,crash_commit_cb_last_fragment_commit_success";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET SESSION wsrep_trx_fragment_size=1;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary');
SELECT 1 FROM t1;
Got one of the listed errors
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug="d,crash_commit_cb_before_last_fragment_commit";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET SESSION wsrep_trx_fragment_size=1;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary');
SELECT 1 FROM t1;
Got one of the listed errors
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug="d,crash_apply_cb_after_fragment_removal";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET SESSION wsrep_trx_fragment_size=1;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary');
SELECT 1 FROM t1;
Got one of the listed errors
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SET GLOBAL debug="d,crash_apply_cb_before_fragment_removal";
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (f1 VARCHAR(10)) ENGINE = InnoDB;
SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('secondary'),('secondary'),('secondary'),('secondary'),('secondary');
SET SESSION wsrep_trx_fragment_size=1;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary'),('primary');
SELECT 1 FROM t1;
Got one of the listed errors
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
SELECT COUNT(*) > 0 FROM t1 WHERE f1 = 'primary';
COUNT(*) > 0
1
SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 'secondary';
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1
DROP TABLE t1;
...@@ -5,6 +5,9 @@ connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2; ...@@ -5,6 +5,9 @@ connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3; connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connect node_3a, 127.0.0.1, root, , test, $NODE_MYPORT_3; connect node_3a, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_1; connection node_1;
connection node_2;
connection node_3;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY); CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
connection node_2; connection node_2;
SET SESSION wsrep_trx_fragment_size=1; SET SESSION wsrep_trx_fragment_size=1;
......
connection node_2; connection node_2;
connection node_1; connection node_1;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_1;
connection node_2;
connection node_3;
connection node_1; connection node_1;
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
...@@ -22,7 +26,7 @@ connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1; ...@@ -22,7 +26,7 @@ connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a; connection node_1a;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1'; SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2; connection node_2;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3; connection node_3;
connection node_2; connection node_2;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
......
connection node_2;
connection node_1;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_1;
connection node_2;
connection node_3;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
...@@ -7,25 +15,33 @@ INSERT INTO t1 VALUES (2); ...@@ -7,25 +15,33 @@ INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3); INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5); INSERT INTO t1 VALUES (5);
connection node_2;
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
Killing server ... Killing server ...
connection node_1;
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
ROLLBACK; ROLLBACK;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*) = 0 COUNT(*)
1 5
connection node_2;
# restart
connection node_1;
connection node_2;
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) = 0 COUNT(*)
1 6
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*) = 0 COUNT(*)
1 5
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) = 0 COUNT(*)
1
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0
1 1
SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*)
5
connection node_1;
disconnect node_1a;
DROP TABLE t1; DROP TABLE t1;
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--LET $node_3=node_3
--source ../galera/include/auto_increment_offset_save.inc
--connection node_1 --connection node_1
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
...@@ -11,6 +19,8 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; ...@@ -11,6 +19,8 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size' --let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
--source include/wait_condition.inc --source include/wait_condition.inc
--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1b
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
START TRANSACTION; START TRANSACTION;
...@@ -37,3 +47,6 @@ SELECT COUNT(*) FROM t1; ...@@ -37,3 +47,6 @@ SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
DROP TABLE t1; DROP TABLE t1;
--disconnect node_1b
--source ../galera/include/auto_increment_offset_restore.inc
...@@ -6,6 +6,13 @@ ...@@ -6,6 +6,13 @@
# The master transitions to a non-prim view and back to prim. Its ongoing # The master transitions to a non-prim view and back to prim. Its ongoing
# should fail to commit. # should fail to commit.
# #
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--LET $node_3=node_3
--source ../galera/include/auto_increment_offset_save.inc
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2 --connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
...@@ -78,3 +85,4 @@ DROP TABLE t1; ...@@ -78,3 +85,4 @@ DROP TABLE t1;
--connection node_2 --connection node_2
CALL mtr.add_suppression("WSREP: failed to send SR rollback for "); CALL mtr.add_suppression("WSREP: failed to send SR rollback for ");
--source ../galera/include/auto_increment_offset_restore.inc
#
# Exercise the crash points which crash the server at various points important to SR
#
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
--connect node_2_check, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_3_check, 127.0.0.1, root, , test, $NODE_MYPORT_3
#
# crash_last_fragment_commit_before_fragment_removal
#
--connection node_2
--enable_reconnect
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_before_fragment_removal";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
--echo crash_last_fragment_commit_before_fragment_removal
--connection node_2
--error 2006,2013
COMMIT;
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_cluster_size'
--source include/wait_condition.inc
--connection node_2
--source include/start_mysqld.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
#
# crash_last_fragment_commit_after_fragment_removal
#
--connection node_2
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
--echo crash_last_fragment_commit_after_fragment_removal
--connection node_2
--error 2006,2013
COMMIT;
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name = 'wsrep_cluster_size'
--source include/wait_condition.inc
--connection node_2
--source include/start_mysqld.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
#
# crash_last_fragment_commit_success
#
# Case crash_last_fragment_commit_success is commented out,
# the changes will be visible on slave due to succesful commit,
# so the galera_sr_crash_post_check will fail.
#
# --connection node_2
# SET GLOBAL debug_dbug="d,crash_last_fragment_commit_success";
# --source suite/galera_3nodes/include/galera_expect_node_crash.inc
# --source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
# --echo crash_last_fragment_commit_success
# --connection node_2
# --error 2006,2013
# COMMIT;
# --source include/start_mysqld.inc
# --source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
#
# crash_replicate_fragment_success
#
--connection node_2
SET GLOBAL debug_dbug="d,crash_replicate_fragment_success";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
--echo crash_replicate_fragment_success
--connection node_2
--error 2006,2013
COMMIT;
--source include/start_mysqld.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
#
# crash_replicate_fragment_after_certify
#
--connection node_2
SET GLOBAL debug_dbug="d,crash_replicate_fragment_after_certify";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
--echo crash_replicate_fragment_after_certify
--connection node_2
--error 2006,2013
COMMIT;
--source include/start_mysqld.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
#
# crash_replicate_fragment_before_certify
#
--connection node_2
SET GLOBAL debug_dbug="d,crash_replicate_fragment_before_certify";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes.inc
--echo crash_replicate_fragment_before_certify
--connection node_2
--error 2006,2013
COMMIT;
--source include/start_mysqld.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check.inc
DROP TABLE t1;
#
# Exercise the crash points which crash the server at various points important to SR
#
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
--connect node_2_check, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_3_check, 127.0.0.1, root, , test, $NODE_MYPORT_3
#
# crash_apply_cb_before_append_frag
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_apply_cb_before_append_frag";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes2.inc
--connection node_3
--error 0,2006,2013
COMMIT;
--source include/start_mysqld.inc
--sleep 5
--source suite/galera_3nodes/include/galera_sr_crash_post_check2.inc
#
# crash_apply_cb_after_append_frag
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_apply_cb_after_append_frag";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes2.inc
--connection node_3
--error 0,2006,2013
COMMIT;
--source include/start_mysqld.inc
--sleep 5
--source suite/galera_3nodes/include/galera_sr_crash_post_check2.inc
--connection node_1
CALL mtr.add_suppression("WSREP: Action message in non-primary configuration from member");
DROP TABLE t1;
#
# Exercise the crash points which crash the server at various points important to SR
#
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
--connect node_2_check, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--enable_reconnect
--connect node_3_check, 127.0.0.1, root, , test, $NODE_MYPORT_3
#
# crash_commit_cb_last_fragment_commit_success
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_commit_cb_last_fragment_commit_success";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes3.inc
--source include/start_mysqld.inc
--sleep 5
--source include/galera_wait_ready.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check3.inc
#
# crash_commit_cb_before_last_fragment_commit
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_commit_cb_before_last_fragment_commit";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes3.inc
--source include/start_mysqld.inc
--sleep 5
--source include/galera_wait_ready.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check3.inc
#
# crash_apply_cb_after_fragment_removal
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_apply_cb_after_fragment_removal";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes3.inc
--source include/start_mysqld.inc
--sleep 5
--source include/galera_wait_ready.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check3.inc
#
# crash_apply_cb_before_fragment_removal
#
--connection node_3
SET GLOBAL debug_dbug="d,crash_apply_cb_before_fragment_removal";
--source suite/galera_3nodes/include/galera_expect_node_crash.inc
--source suite/galera_3nodes/include/galera_sr_crash_prepare_nodes3.inc
--source include/start_mysqld.inc
--sleep 5
--source include/galera_wait_ready.inc
--source suite/galera_3nodes/include/galera_sr_crash_post_check3.inc
DROP TABLE t1;
...@@ -24,6 +24,11 @@ ...@@ -24,6 +24,11 @@
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connect node_3a, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3a, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--let $node_3=node_3
--source ../galera/include/auto_increment_offset_save.inc
--connection node_1 --connection node_1
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY); CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
...@@ -166,3 +171,5 @@ SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; ...@@ -166,3 +171,5 @@ SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
--connection node_1 --connection node_1
DROP TABLE t1; DROP TABLE t1;
--source ../galera/include/auto_increment_offset_restore.inc
...@@ -4,6 +4,12 @@ ...@@ -4,6 +4,12 @@
# #
# Test the effect of gmcast.isolate on master during an SR transaction # Test the effect of gmcast.isolate on master during an SR transaction
# #
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--let $node_3=node_3
--source ../galera/include/auto_increment_offset_save.inc
--connection node_1 --connection node_1
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
...@@ -41,7 +47,7 @@ SET GLOBAL wsrep_provider_options='gmcast.isolate=1'; ...@@ -41,7 +47,7 @@ SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
--source include/wait_condition.inc --source include/wait_condition.inc
--source include/galera_wait_ready.inc --source include/galera_wait_ready.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connection node_3
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size' --let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
--source include/wait_condition.inc --source include/wait_condition.inc
--source include/galera_wait_ready.inc --source include/galera_wait_ready.inc
...@@ -125,3 +131,5 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; ...@@ -125,3 +131,5 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
--connection node_1 --connection node_1
CALL mtr.add_suppression("failed to send SR rollback for"); CALL mtr.add_suppression("failed to send SR rollback for");
DROP TABLE t1; DROP TABLE t1;
--source ../galera/include/auto_increment_offset_restore.inc
...@@ -7,8 +7,15 @@ ...@@ -7,8 +7,15 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--connection node_1 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--let $node_3=node_3
--source ../galera/include/auto_increment_offset_save.inc
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
--let $wsrep_trx_fragment_size_orig = `SELECT @@wsrep_trx_fragment_size` --let $wsrep_trx_fragment_size_orig = `SELECT @@wsrep_trx_fragment_size`
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
...@@ -33,7 +40,7 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; ...@@ -33,7 +40,7 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
ROLLBACK; ROLLBACK;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
--connection node_2 --connection node_2
--source include/start_mysqld.inc --source include/start_mysqld.inc
...@@ -42,15 +49,20 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; ...@@ -42,15 +49,20 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
--source include/galera_wait_ready.inc --source include/galera_wait_ready.inc
--connection node_2 --connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
--source include/wait_condition.inc
--connection node_2 --connection node_2
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) FROM t1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) FROM t1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
--connection node_1
--disconnect node_1a
DROP TABLE t1; DROP TABLE t1;
--source ../galera/include/auto_increment_offset_restore.inc
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values. # Save original auto_increment_offset values.
--let $node_1=node_1 --let $node_1=node_1
......
...@@ -10,5 +10,5 @@ ...@@ -10,5 +10,5 @@
# #
############################################################################## ##############################################################################
GCF-1060 : MDEV-26528 wrong usage of mutex LOCK_thd_kill and LOCK_thd_kill galera_sr_cc_master : MDEV-29882 Galera test failure on galera_sr_cc_master
...@@ -52,7 +52,7 @@ int Pushdown_derived::execute() ...@@ -52,7 +52,7 @@ int Pushdown_derived::execute()
TABLE *table= handler->table; TABLE *table= handler->table;
TMP_TABLE_PARAM *tmp_table_param= handler->tmp_table_param; TMP_TABLE_PARAM *tmp_table_param= handler->tmp_table_param;
DBUG_ENTER("Pushdown_query::execute"); DBUG_ENTER("Pushdown_derived::execute");
if ((err= handler->init_scan())) if ((err= handler->init_scan()))
goto error; goto error;
......
...@@ -4639,14 +4639,14 @@ dict_table_schema_check( ...@@ -4639,14 +4639,14 @@ dict_table_schema_check(
/* no such table */ /* no such table */
if (innobase_strcasecmp(req_schema->table_name, "mysql/innodb_table_stats") == 0) { if (innobase_strcasecmp(req_schema->table_name, "mysql/innodb_table_stats") == 0) {
if (innodb_table_stats_not_found_reported == false) { if (innodb_table_stats_not_found_reported == false && !opt_bootstrap) {
innodb_table_stats_not_found = true; innodb_table_stats_not_found = true;
innodb_table_stats_not_found_reported = true; innodb_table_stats_not_found_reported = true;
} else { } else {
should_print = false; should_print = false;
} }
} else if (innobase_strcasecmp(req_schema->table_name, "mysql/innodb_index_stats") == 0 ) { } else if (innobase_strcasecmp(req_schema->table_name, "mysql/innodb_index_stats") == 0 ) {
if (innodb_index_stats_not_found_reported == false) { if (innodb_index_stats_not_found_reported == false && !opt_bootstrap) {
innodb_index_stats_not_found = true; innodb_index_stats_not_found = true;
innodb_index_stats_not_found_reported = true; innodb_index_stats_not_found_reported = true;
} else { } else {
......
...@@ -3294,7 +3294,8 @@ dict_stats_update( ...@@ -3294,7 +3294,8 @@ dict_stats_update(
or is corrupted, calculate the transient stats */ or is corrupted, calculate the transient stats */
if (innodb_table_stats_not_found == false && if (innodb_table_stats_not_found == false &&
table->stats_error_printed == false) { table->stats_error_printed == false &&
!opt_bootstrap) {
ib::error() << "Fetch of persistent statistics" ib::error() << "Fetch of persistent statistics"
" requested for table " " requested for table "
<< table->name << table->name
......
...@@ -6,30 +6,32 @@ ...@@ -6,30 +6,32 @@
# #
# Edit parameters below to specify the address and login to server: # Edit parameters below to specify the address and login to server:
# #
USER=root USER='root'
PSWD=rootpass PSWD='rootpass'
# #
# If these parameters are not set, then the values # If these parameters are not set, then the values
# passed by the server are taken: # passed by the server are taken:
# #
HOST=127.0.0.1 HOST="127.0.0.1"
PORT=3306 PORT=3306
# #
# Edit parameters below to specify SSL parameters: # Edit parameters below to specify SSL parameters:
# #
ssl_key= ssl_cert=""
ssl_cert= ssl_key=""
ssl_ca= ssl_ca=""
ssl_capath= ssl_capath=""
ssl_cipher= ssl_cipher=""
ssl_crl= ssl_crl=""
ssl_crlpath= ssl_crlpath=""
ssl_verify_server_cert=0 ssl_verify_server_cert=0
# #
# Client executable path: # Client executable path:
# #
CLIENT="mysql" CLIENT="mysql"
#
# Name of schema and tables:
#
SCHEMA="wsrep" SCHEMA="wsrep"
MEMB_TABLE="$SCHEMA.membership" MEMB_TABLE="$SCHEMA.membership"
STATUS_TABLE="$SCHEMA.status" STATUS_TABLE="$SCHEMA.status"
...@@ -37,15 +39,14 @@ STATUS_TABLE="$SCHEMA.status" ...@@ -37,15 +39,14 @@ STATUS_TABLE="$SCHEMA.status"
WSREP_ON='SET wsrep_on=ON' WSREP_ON='SET wsrep_on=ON'
WSREP_OFF='SET wsrep_on=OFF' WSREP_OFF='SET wsrep_on=OFF'
BEGIN="$WSREP_OFF; BEGIN="CREATE SCHEMA IF NOT EXISTS $SCHEMA;
DROP SCHEMA IF EXISTS $SCHEMA; CREATE SCHEMA $SCHEMA; CREATE TABLE IF NOT EXISTS $MEMB_TABLE (
CREATE TABLE $MEMB_TABLE (
idx INT UNIQUE PRIMARY KEY, idx INT UNIQUE PRIMARY KEY,
uuid CHAR(40) UNIQUE, /* node UUID */ uuid CHAR(40) UNIQUE, /* node UUID */
name VARCHAR(32), /* node name */ name VARCHAR(32), /* node name */
addr VARCHAR(256) /* node address */ addr VARCHAR(256) /* node address */
) ENGINE=MEMORY; ) ENGINE=MEMORY;
CREATE TABLE $STATUS_TABLE ( CREATE TABLE IF NOT EXISTS $STATUS_TABLE (
size INT, /* component size */ size INT, /* component size */
idx INT, /* this node index */ idx INT, /* this node index */
status CHAR(16), /* this node status */ status CHAR(16), /* this node status */
...@@ -57,7 +58,7 @@ END="COMMIT; $WSREP_ON" ...@@ -57,7 +58,7 @@ END="COMMIT; $WSREP_ON"
configuration_change() configuration_change()
{ {
echo "$BEGIN;" echo "$WSREP_OFF; DROP SCHEMA IF EXISTS $SCHEMA; $BEGIN;"
local idx=0 local idx=0
...@@ -67,7 +68,7 @@ configuration_change() ...@@ -67,7 +68,7 @@ configuration_change()
# Don't forget to properly quote string values # Don't forget to properly quote string values
echo "'$NODE'" | sed s/\\//\',\'/g echo "'$NODE'" | sed s/\\//\',\'/g
echo ");" echo ");"
idx=$(( $idx + 1 )) idx=$(( $idx+1 ))
done done
echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);"
...@@ -77,7 +78,7 @@ configuration_change() ...@@ -77,7 +78,7 @@ configuration_change()
status_update() status_update()
{ {
echo "$WSREP_OFF; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;" echo "$WSREP_OFF; $BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;"
} }
trim_string() trim_string()
...@@ -102,34 +103,35 @@ trim_string() ...@@ -102,34 +103,35 @@ trim_string()
fi fi
} }
COM=status_update # not a configuration change by default COM='status_update' # not a configuration change by default
STATUS="" STATUS=""
CLUSTER_UUID="" CLUSTER_UUID=""
PRIMARY="0" PRIMARY=0
INDEX="" INDEX=""
MEMBERS="" MEMBERS=""
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case $1 in case $1 in
--status) '--status')
STATUS=$(trim_string "$2") STATUS=$(trim_string "$2")
shift shift
;; ;;
--uuid) '--uuid')
CLUSTER_UUID=$(trim_string "$2") CLUSTER_UUID=$(trim_string "$2")
shift shift
;; ;;
--primary) '--primary')
[ "$2" = "yes" ] && PRIMARY="1" || PRIMARY="0" arg=$(trim_string "$2")
COM=configuration_change [ "$arg" = 'yes' ] && PRIMARY=1 || PRIMARY=0
COM='configuration_change'
shift shift
;; ;;
--index) '--index')
INDEX=$(trim_string "$2") INDEX=$(trim_string "$2")
shift shift
;; ;;
--members) '--members')
MEMBERS=$(trim_string "$2") MEMBERS=$(trim_string "$2")
shift shift
;; ;;
...@@ -168,9 +170,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert"); ...@@ -168,9 +170,7 @@ ssl_verify_server_cert=$(trim_string "$ssl_verify_server_cert");
SSL_PARAM="" SSL_PARAM=""
if [ -n "$ssl_key" -o -n "$ssl_cert" -o \ if [ -n "$ssl_key$ssl_cert$ssl_ca$ssl_capath$ssl_cipher$ssl_crl$ssl_crlpath" ]
-n "$ssl_ca" -o -n "$ssl_capath" -o \
-n "$ssl_cipher" ]
then then
SSL_PARAM=' --ssl' SSL_PARAM=' --ssl'
[ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'" [ -n "$ssl_key" ] && SSL_PARAM="$SSL_PARAM --ssl-key='$ssl_key'"
...@@ -181,8 +181,10 @@ then ...@@ -181,8 +181,10 @@ then
[ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'" [ -n "$ssl_crl" ] && SSL_PARAM="$SSL_PARAM --ssl-crl='$ssl_crl'"
[ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'" [ -n "$ssl_crlpath" ] && SSL_PARAM="$SSL_PARAM --ssl-crlpath='$ssl_crlpath'"
if [ -n "$ssl_verify_server_cert" ]; then if [ -n "$ssl_verify_server_cert" ]; then
if [ $ssl_verify_server_cert -ne 0 ]; then if [ "$ssl_verify_server_cert" != "0" -o \
SSL_PARAM+=' --ssl-verify-server-cert' "$ssl_verify_server_cert" = "on" ]
then
SSL_PARAM="$SSL_PARAM --ssl-verify-server-cert"
fi fi
fi fi
fi fi
......
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