Commit 4197d238 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 11.2 into 11.4

parents 7ea9e135 f1b4d36c
...@@ -214,7 +214,7 @@ set log_slow_filter=default; ...@@ -214,7 +214,7 @@ set log_slow_filter=default;
set timestamp=default; set timestamp=default;
let SEARCH_FILE=`select @@slow_query_log_file`; let SEARCH_FILE=`select @@slow_query_log_file`;
let SEARCH_PATTERN=use.*2; let SEARCH_PATTERN= use \`a\n.*2;
let SEARCH_OUTPUT=matches; let SEARCH_OUTPUT=matches;
source include/search_pattern_in_file.inc; source include/search_pattern_in_file.inc;
......
...@@ -87,7 +87,7 @@ while ($count) ...@@ -87,7 +87,7 @@ while ($count)
--enable_query_log --enable_query_log
--connection node_1b --connection node_1b
--error 0,2013,1317,2026 --error 0,1317,2013,2026
--reap --reap
--enable_query_log --enable_query_log
--enable_result_log --enable_result_log
......
...@@ -55,7 +55,6 @@ INSERT INTO t1 VALUES (4,1); ...@@ -55,7 +55,6 @@ INSERT INTO t1 VALUES (4,1);
--connection node_3 --connection node_3
DROP TABLE t1; DROP TABLE t1;
--connection node_2 --connection node_2
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; --let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
--source include/wait_condition.inc --source include/wait_condition.inc
......
...@@ -87,7 +87,7 @@ ALTER TABLE t1 ADD COLUMN (f4 int(10)); ...@@ -87,7 +87,7 @@ ALTER TABLE t1 ADD COLUMN (f4 int(10));
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id --let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*)=2 FROM information_schema.processlist WHERE Info like 'INSERT INTO t1 (f1) values("node1%")' AND (State = 'Commit' OR State='Waiting for certification') --let $wait_condition = SELECT COUNT(*)=2 FROM information_schema.processlist WHERE Info like 'INSERT INTO t1 (f1) values("node1%")' AND (State = 'Commit' OR State='Waiting for certification')
--source include/wait_condition.inc --source include/wait_condition.inc
# nothing after BLOCK_DDL is applied # nothing after BLOCK_DDL is applied
......
...@@ -131,7 +131,7 @@ SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached"; ...@@ -131,7 +131,7 @@ SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached";
SET DEBUG_SYNC = "now SIGNAL bwoc_continue"; SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
SET DEBUG_SYNC='RESET'; SET DEBUG_SYNC='RESET';
--connection node_2a --connection node_2a
--error 0,1213 --error 0,1213,2013,2026
--reap --reap
--connection node_2 --connection node_2
......
...@@ -51,7 +51,7 @@ SET SESSION wsrep_sync_wait = 0; ...@@ -51,7 +51,7 @@ SET SESSION wsrep_sync_wait = 0;
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%'; --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%';
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Commit'; --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE 'Commit' or STATE = 'Waiting for certification');
--source include/wait_condition.inc --source include/wait_condition.inc
UNLOCK TABLES; UNLOCK TABLES;
......
...@@ -14,7 +14,7 @@ innodb_undo_tablespaces=0 ...@@ -14,7 +14,7 @@ innodb_undo_tablespaces=0
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true' wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
innodb_fast_shutdown=0 innodb_fast_shutdown=0
innodb_undo_tablespaces=3 innodb_undo_tablespaces=3
innodb_log_file_buffering loose_innodb_log_file_buffering
[sst] [sst]
transferfmt=@ENV.MTR_GALERA_TFMT transferfmt=@ENV.MTR_GALERA_TFMT
......
...@@ -5,10 +5,6 @@ ...@@ -5,10 +5,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
if (`select version() not like '10.10.3-%'`) {
skip disabled until new C/C;
}
CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) engine=innodb; CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) engine=innodb;
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1 --connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
...@@ -26,7 +22,7 @@ SELECT * FROM t1; ...@@ -26,7 +22,7 @@ SELECT * FROM t1;
# Original behavior was lost connection, # Original behavior was lost connection,
# but since 10.1, we allow controlling connection to remain alive # but since 10.1, we allow controlling connection to remain alive
# #
--error 0,2013 --error 0,2013,2026
SET GLOBAL wsrep_reject_queries = ALL_KILL; SET GLOBAL wsrep_reject_queries = ALL_KILL;
--connection node_1a --connection node_1a
......
!include ../galera_2nodes_as_master.cnf !include ../galera_2nodes_as_master.cnf
[mysqld.1] [mysqld.1]
innodb-log-file-buffering loose-innodb-log-file-buffering
[mysqld.2] [mysqld.2]
innodb-log-file-buffering loose-innodb-log-file-buffering
[mysqld.3] [mysqld.3]
innodb-log-file-buffering loose-innodb-log-file-buffering
...@@ -27,7 +27,7 @@ SET GLOBAL wsrep_cluster_address = ''; ...@@ -27,7 +27,7 @@ SET GLOBAL wsrep_cluster_address = '';
SET SESSION wsrep_sync_wait = DEFAULT; SET SESSION wsrep_sync_wait = DEFAULT;
connection node_2; connection node_2;
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
ERROR HY000: Lost connection to server during query Got one of the listed errors
connection node_1; connection node_1;
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
EXPECT_0 EXPECT_0
......
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
if (`select version() not like '10.10.3-%'`) {
skip disabled until new C/C;
}
# #
# Test the effect of Cluster Configuration Change on a concurrently-running SR transaction # Test the effect of Cluster Configuration Change on a concurrently-running SR transaction
# We use SET GLOBAL wsrep_cluster_address = '' to cause the master (node_2) to temporarily # We use SET GLOBAL wsrep_cluster_address = '' to cause the master (node_2) to temporarily
...@@ -55,7 +51,7 @@ SET GLOBAL wsrep_cluster_address = ''; ...@@ -55,7 +51,7 @@ SET GLOBAL wsrep_cluster_address = '';
SET SESSION wsrep_sync_wait = DEFAULT; SET SESSION wsrep_sync_wait = DEFAULT;
--connection node_2 --connection node_2
--error 2013 # CR_SERVER_LOST --error 2013,2026
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
--connection node_1 --connection node_1
......
...@@ -843,7 +843,13 @@ recv_joiner() ...@@ -843,7 +843,13 @@ recv_joiner()
done done
if [ $checkf -eq 1 ]; then if [ $checkf -eq 1 ]; then
if [ ! -r "$MAGIC_FILE" ]; then if [ -r "$MAGIC_FILE" ]; then
:
elif [ -r "$dir/xtrabackup_galera_info" ]; then
mv "$dir/xtrabackup_galera_info" "$MAGIC_FILE"
wsrep_log_info "the SST donor uses an old version" \
"of mariabackup or xtrabackup"
else
# this message should cause joiner to abort: # this message should cause joiner to abort:
wsrep_log_error "receiving process ended without creating" \ wsrep_log_error "receiving process ended without creating" \
"magic file ($MAGIC_FILE)" "magic file ($MAGIC_FILE)"
...@@ -1334,15 +1340,22 @@ else # joiner ...@@ -1334,15 +1340,22 @@ else # joiner
"$DATA" -mindepth 1 -prune -regex "$cpat" \ "$DATA" -mindepth 1 -prune -regex "$cpat" \
-o -exec rm -rf {} >&2 \+ -o -exec rm -rf {} >&2 \+
# Deleting files from previous SST and legacy files from old versions: # Deleting legacy files from old versions:
[ -f "$DATA/xtrabackup_binary" ] && rm -f "$DATA/xtrabackup_binary" [ -f "$DATA/xtrabackup_binary" ] && rm -f "$DATA/xtrabackup_binary"
[ -f "$DATA/xtrabackup_pid" ] && rm -f "$DATA/xtrabackup_pid" [ -f "$DATA/xtrabackup_pid" ] && rm -f "$DATA/xtrabackup_pid"
[ -f "$DATA/xtrabackup_checkpoints" ] && rm -f "$DATA/xtrabackup_checkpoints" [ -f "$DATA/xtrabackup_checkpoints" ] && rm -f "$DATA/xtrabackup_checkpoints"
[ -f "$DATA/mariadb_backup_checkpoints" ] && rm -f "$DATA/mariadb_backup_checkpoints"
[ -f "$DATA/xtrabackup_info" ] && rm -f "$DATA/xtrabackup_info" [ -f "$DATA/xtrabackup_info" ] && rm -f "$DATA/xtrabackup_info"
[ -f "$DATA/xtrabackup_slave_info" ] && rm -f "$DATA/xtrabackup_slave_info" [ -f "$DATA/xtrabackup_slave_info" ] && rm -f "$DATA/xtrabackup_slave_info"
[ -f "$DATA/xtrabackup_binlog_info" ] && rm -f "$DATA/xtrabackup_binlog_info"
[ -f "$DATA/xtrabackup_binlog_pos_innodb" ] && rm -f "$DATA/xtrabackup_binlog_pos_innodb" [ -f "$DATA/xtrabackup_binlog_pos_innodb" ] && rm -f "$DATA/xtrabackup_binlog_pos_innodb"
# Deleting files from previous SST:
[ -f "$DATA/mariadb_backup_checkpoints" ] && rm -f "$DATA/mariadb_backup_checkpoints"
[ -f "$DATA/mariadb_backup_info" ] && rm -f "$DATA/mariadb_backup_info"
[ -f "$DATA/mariadb_backup_slave_info" ] && rm -f "$DATA/mariadb_backup_slave_info"
[ -f "$DATA/mariadb_backup_binlog_info" ] && rm -f "$DATA/mariadb_backup_binlog_info"
[ -f "$DATA/mariadb_backup_binlog_pos_innodb" ] && rm -f "$DATA/mariadb_backup_binlog_pos_innodb"
TDATA="$DATA" TDATA="$DATA"
DATA="$DATA/.sst" DATA="$DATA/.sst"
MAGIC_FILE="$DATA/$INFO_FILE" MAGIC_FILE="$DATA/$INFO_FILE"
...@@ -1351,6 +1364,44 @@ else # joiner ...@@ -1351,6 +1364,44 @@ else # joiner
monitor_process $BACKUP_PID monitor_process $BACKUP_PID
BACKUP_PID="" BACKUP_PID=""
# It is possible that the old version of the galera
# information file will be transferred second time:
if [ ! -f "$DATA/$INFO_FILE" -a \
-f "$DATA/xtrabackup_galera_info" ]
then
mv "$DATA/xtrabackup_galera_info" "$DATA/$INFO_FILE"
fi
# Correcting the name of the common information file
# if the donor has an old version:
if [ ! -f "$DATA/mariadb_backup_info" -a \
-f "$DATA/xtrabackup_info" ]
then
mv "$DATA/xtrabackup_info" "$DATA/mariadb_backup_info"
wsrep_log_info "general information file with a legacy" \
"name has been renamed"
fi
# Correcting the name for the file with the binlog position
# for the master if the donor has an old version:
if [ ! -f "$DATA/mariadb_backup_slave_info" -a \
-f "$DATA/xtrabackup_slave_info" ]
then
mv "$DATA/xtrabackup_slave_info" "$DATA/mariadb_backup_slave_info"
wsrep_log_info "binlog position file with a legacy" \
"name has been renamed"
fi
# An old version of the donor may send a checkpoints
# list file under an outdated name:
if [ ! -f "$DATA/mariadb_backup_checkpoints" -a \
-f "$DATA/xtrabackup_checkpoints" ]
then
mv "$DATA/xtrabackup_checkpoints" "$DATA/mariadb_backup_checkpoints"
wsrep_log_info "list of checkpoints with a legacy" \
"name has been renamed"
fi
if [ ! -s "$DATA/mariadb_backup_checkpoints" ]; then if [ ! -s "$DATA/mariadb_backup_checkpoints" ]; then
wsrep_log_error "mariadb_backup_checkpoints missing," \ wsrep_log_error "mariadb_backup_checkpoints missing," \
"failed mariadb-backup/SST on donor" "failed mariadb-backup/SST on donor"
...@@ -1410,6 +1461,16 @@ else # joiner ...@@ -1410,6 +1461,16 @@ else # joiner
fi fi
fi fi
# An old version of the donor may send a binary logs
# list file under an outdated name:
if [ ! -f "$DATA/mariadb_backup_binlog_info" -a \
-f "$DATA/xtrabackup_binlog_info" ]
then
mv "$DATA/xtrabackup_binlog_info" "$DATA/mariadb_backup_binlog_info"
wsrep_log_info "list of binary logs with a legacy" \
"name has been renamed"
fi
wsrep_log_info "Preparing the backup at $DATA" wsrep_log_info "Preparing the backup at $DATA"
setup_commands setup_commands
timeit 'mariadb-backup prepare stage' "$INNOAPPLY" timeit 'mariadb-backup prepare stage' "$INNOAPPLY"
......
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