mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.1 into 10.2
This commit is contained in:
@ -211,6 +211,15 @@ IF (WITH_ASAN)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
OPTION(WITH_UBSAN "Enable undefined behavior sanitizer" OFF)
|
||||||
|
IF (WITH_UBSAN)
|
||||||
|
IF(SECURITY_HARDENED)
|
||||||
|
MESSAGE(FATAL_ERROR "WITH_UBSAN and SECURITY_HARDENED are mutually exclusive")
|
||||||
|
ENDIF()
|
||||||
|
MY_CHECK_AND_SET_COMPILER_FLAG("-fsanitize=undefined" DEBUG RELWITHDEBINFO)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
# enable security hardening features, like most distributions do
|
# enable security hardening features, like most distributions do
|
||||||
# in our benchmarks that costs about ~1% of performance, depending on the load
|
# in our benchmarks that costs about ~1% of performance, depending on the load
|
||||||
IF(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.6")
|
IF(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.6")
|
||||||
|
@ -35,7 +35,7 @@ ENDFOREACH()
|
|||||||
# Ensure we have clean build for shared libraries
|
# Ensure we have clean build for shared libraries
|
||||||
# without unresolved symbols
|
# without unresolved symbols
|
||||||
# Not supported with AddressSanitizer
|
# Not supported with AddressSanitizer
|
||||||
IF(NOT WITH_ASAN)
|
IF(NOT WITH_ASAN AND NOT WITH_UBSAN)
|
||||||
SET(LINK_FLAG_NO_UNDEFINED "-Wl,--no-undefined")
|
SET(LINK_FLAG_NO_UNDEFINED "-Wl,--no-undefined")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
|||||||
ELSEIF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
ELSEIF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
TARGET_LINK_LIBRARIES (${target} mysqld)
|
TARGET_LINK_LIBRARIES (${target} mysqld)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT WITH_ASAN)
|
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT WITH_ASAN AND NOT WITH_UBSAN)
|
||||||
TARGET_LINK_LIBRARIES (${target} "-Wl,--no-undefined")
|
TARGET_LINK_LIBRARIES (${target} "-Wl,--no-undefined")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -26,8 +26,10 @@ galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid
|
|||||||
galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events
|
galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events
|
||||||
galera_binlog_stmt_autoinc : MDEV-13549 auto_increment mismatch
|
galera_binlog_stmt_autoinc : MDEV-13549 auto_increment mismatch
|
||||||
galera_flush : MariaDB does not have global.thread_statistics
|
galera_flush : MariaDB does not have global.thread_statistics
|
||||||
|
galera_gcache_recover_manytrx : MDEV-18834 Galera test failure
|
||||||
galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST
|
galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST
|
||||||
galera_ist_progress: MDEV-15236 galera_ist_progress fails when trying to read transfer status
|
galera_ist_mariabackup : MDEV-18829 test leaves port open
|
||||||
|
galera_ist_progress: MDEV-15236 fails when trying to read transfer status
|
||||||
galera_kill_applier : race condition at the start of the test
|
galera_kill_applier : race condition at the start of the test
|
||||||
galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl
|
galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl
|
||||||
galera_migrate : MariaDB does not support START SLAVE USER
|
galera_migrate : MariaDB does not support START SLAVE USER
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
|
connection node_2;
|
||||||
|
connection node_1;
|
||||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
connection node_2;
|
connection node_2;
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
|
connection node_2;
|
||||||
|
connection node_1;
|
||||||
SET SESSION innodb_lock_wait_timeout=600;
|
SET SESSION innodb_lock_wait_timeout=600;
|
||||||
SET SESSION lock_wait_timeout=600;
|
SET SESSION lock_wait_timeout=600;
|
||||||
CREATE TABLE ten (f1 INTEGER);
|
CREATE TABLE ten (f1 INTEGER) engine=InnoDB;
|
||||||
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||||
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
|
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
|
||||||
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
||||||
@ -9,24 +11,24 @@ connection node_2;
|
|||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET SESSION wsrep_sync_wait = 15;
|
SET SESSION wsrep_sync_wait = 15;
|
||||||
SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
|
SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
|
||||||
SELECT COUNT(*) = 100000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
COUNT(*) = 100000
|
COUNT(*)
|
||||||
1
|
100000
|
||||||
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
SELECT COUNT(*) = 200000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
COUNT(*) = 200000
|
COUNT(*)
|
||||||
1
|
200000
|
||||||
UPDATE t1 SET f2 = 1;
|
UPDATE t1 SET f2 = 1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT COUNT(*) = 200000 FROM t1 WHERE f2 = 1;
|
SELECT COUNT(*) FROM t1 WHERE f2 = 1;
|
||||||
COUNT(*) = 200000
|
COUNT(*)
|
||||||
1
|
200000
|
||||||
connection node_1;
|
connection node_1;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
SELECT COUNT(*) = 200000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
COUNT(*) = 200000
|
COUNT(*)
|
||||||
1
|
200000
|
||||||
UPDATE t1 SET f2 = 3;
|
UPDATE t1 SET f2 = 3;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_1;
|
|
||||||
connection node_2;
|
|
||||||
connection node_2;
|
connection node_2;
|
||||||
CREATE TABLE t1(i INT) ENGINE=INNODB;
|
CREATE TABLE t1(i INT) ENGINE=INNODB;
|
||||||
INSERT INTO t1 VALUES(1);
|
INSERT INTO t1 VALUES(1);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
connection node_1;
|
||||||
SELECT COUNT(DISTINCT uuid) = 2 FROM mtr_wsrep_notify.membership;
|
SELECT COUNT(DISTINCT uuid) = 2 FROM mtr_wsrep_notify.membership;
|
||||||
COUNT(DISTINCT uuid) = 2
|
COUNT(DISTINCT uuid) = 2
|
||||||
1
|
1
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_mariabackup.inc
|
--source include/have_mariabackup.inc
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
@ -29,11 +28,11 @@ END|
|
|||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
|
|
||||||
--send CALL p1();
|
--send CALL p1();
|
||||||
--sleep 2
|
--sleep 1
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
--send CALL p1();
|
--send CALL p1();
|
||||||
--sleep 2
|
--sleep 1
|
||||||
|
|
||||||
# Kill and restart node #2
|
# Kill and restart node #2
|
||||||
|
|
||||||
@ -41,10 +40,7 @@ DELIMITER ;|
|
|||||||
--connection node_2a
|
--connection node_2a
|
||||||
--source include/kill_galera.inc
|
--source include/kill_galera.inc
|
||||||
|
|
||||||
--sleep 10
|
|
||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
--sleep 25
|
|
||||||
--source include/wait_until_connected_again.inc
|
|
||||||
|
|
||||||
INSERT INTO t1 VALUES (DEFAULT);
|
INSERT INTO t1 VALUES (DEFAULT);
|
||||||
|
|
||||||
@ -68,8 +64,6 @@ INSERT INTO t1 VALUES (DEFAULT);
|
|||||||
--error 2013,2006
|
--error 2013,2006
|
||||||
--reap
|
--reap
|
||||||
|
|
||||||
--sleep 10
|
|
||||||
|
|
||||||
# Confirm that the count is correct and that the cluster is intact
|
# Confirm that the count is correct and that the cluster is intact
|
||||||
|
|
||||||
--connection node_1a
|
--connection node_1a
|
||||||
|
@ -3,7 +3,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
--source include/have_innodb.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_1
|
--connection node_1
|
||||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
@ -29,4 +33,7 @@ SET SESSION wsrep_sync_wait = DEFAULT;
|
|||||||
SELECT COUNT(*) = 1 FROM t1;
|
SELECT COUNT(*) = 1 FROM t1;
|
||||||
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
|
||||||
|
--let $node_2=node_2a
|
||||||
|
--source include/auto_increment_offset_restore.inc
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
5
mysql-test/suite/galera/t/galera_many_rows.cnf
Normal file
5
mysql-test/suite/galera/t/galera_many_rows.cnf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
!include ../galera_2nodes.cnf
|
||||||
|
|
||||||
|
[mysqld]
|
||||||
|
innodb-status-output=ON
|
||||||
|
innodb-status-output-locks=ON
|
@ -1,13 +1,16 @@
|
|||||||
|
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
--source include/have_innodb.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_1
|
--connection node_1
|
||||||
SET SESSION innodb_lock_wait_timeout=600;
|
SET SESSION innodb_lock_wait_timeout=600;
|
||||||
SET SESSION lock_wait_timeout=600;
|
SET SESSION lock_wait_timeout=600;
|
||||||
|
|
||||||
CREATE TABLE ten (f1 INTEGER);
|
CREATE TABLE ten (f1 INTEGER) engine=InnoDB;
|
||||||
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||||
|
|
||||||
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
|
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB;
|
||||||
@ -20,19 +23,19 @@ SET SESSION wsrep_sync_wait = 15;
|
|||||||
|
|
||||||
SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
|
SET GLOBAL wsrep_provider_options = 'repl.causal_read_timeout=PT1H';
|
||||||
|
|
||||||
SELECT COUNT(*) = 100000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
INSERT INTO t1 (f2) SELECT a1.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
SELECT COUNT(*) = 200000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
UPDATE t1 SET f2 = 1;
|
UPDATE t1 SET f2 = 1;
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
SELECT COUNT(*) = 200000 FROM t1 WHERE f2 = 1;
|
SELECT COUNT(*) FROM t1 WHERE f2 = 1;
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
SELECT COUNT(*) = 200000 FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
UPDATE t1 SET f2 = 3;
|
UPDATE t1 SET f2 = 3;
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
@ -50,5 +53,7 @@ COMMIT;
|
|||||||
--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2';
|
--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2';
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
--source include/auto_increment_offset_restore.inc
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE ten;
|
DROP TABLE ten;
|
||||||
|
@ -11,11 +11,6 @@
|
|||||||
--let $node_2=node_2
|
--let $node_2=node_2
|
||||||
--source include/auto_increment_offset_save.inc
|
--source include/auto_increment_offset_save.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
|
--connection node_2
|
||||||
--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
|
--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
|
||||||
|
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
|
||||||
|
VARIABLE_VALUE LIKE '%[::1]%'
|
||||||
|
1
|
||||||
|
SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
VARIABLE_VALUE = 3
|
||||||
|
1
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
|
||||||
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
|
||||||
|
SELECT COUNT(*) = 1 FROM t1;
|
||||||
|
COUNT(*) = 1
|
||||||
|
1
|
||||||
|
DROP TABLE t1;
|
||||||
|
include/assert_grep.inc [Streaming the backup to joiner at \[::1\]]
|
||||||
|
include/assert_grep.inc [async IST sender starting to serve tcp://\[::1\]:]
|
||||||
|
include/assert_grep.inc [IST receiver addr using tcp://\[::1\]]
|
||||||
|
include/assert_grep.inc [Prepared IST receiver, listening at: tcp://\[::1\]]
|
@ -0,0 +1,14 @@
|
|||||||
|
SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
|
||||||
|
VARIABLE_VALUE LIKE '%[::1]%'
|
||||||
|
1
|
||||||
|
SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
VARIABLE_VALUE = 3
|
||||||
|
1
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
|
||||||
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
|
||||||
|
SELECT COUNT(*) = 1 FROM t1;
|
||||||
|
COUNT(*) = 1
|
||||||
|
1
|
||||||
|
DROP TABLE t1;
|
@ -0,0 +1,39 @@
|
|||||||
|
!include ../galera_3nodes.cnf
|
||||||
|
|
||||||
|
# decoy value - should not be read by mysqld or sst scripts
|
||||||
|
[mysqld]
|
||||||
|
innodb-data-home-dir=/tmp
|
||||||
|
|
||||||
|
[galera]
|
||||||
|
innodb-data-home-dir=
|
||||||
|
wsrep_sst_method=mariabackup
|
||||||
|
wsrep_sst_auth="root:"
|
||||||
|
wsrep_node_address=::1
|
||||||
|
|
||||||
|
[galera.1]
|
||||||
|
wsrep-cluster-address=gcomm://
|
||||||
|
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'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.1.port'
|
||||||
|
wsrep_node_name=node_1
|
||||||
|
|
||||||
|
[galera.2]
|
||||||
|
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
|
||||||
|
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'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.2.port'
|
||||||
|
wsrep_node_name=node_2
|
||||||
|
wsrep_sst_donor=node_1
|
||||||
|
|
||||||
|
[galera.3]
|
||||||
|
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
|
||||||
|
wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.3.port'
|
||||||
|
wsrep_node_name=node_3
|
||||||
|
wsrep_sst_donor=node_1
|
||||||
|
|
||||||
|
[SST]
|
||||||
|
transferfmt=@ENV.MTR_GALERA_TFMT
|
||||||
|
streamfmt=xbstream
|
||||||
|
sockopt=",pf=ip6"
|
@ -0,0 +1 @@
|
|||||||
|
--bind-address=::
|
@ -0,0 +1,69 @@
|
|||||||
|
--source include/galera_cluster.inc
|
||||||
|
--source include/check_ipv6.inc
|
||||||
|
--source suite/galera/include/have_mariabackup.inc
|
||||||
|
|
||||||
|
# Confirm that initial handshake happened over ipv6
|
||||||
|
|
||||||
|
SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
|
||||||
|
SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
|
||||||
|
# Force IST
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
|
||||||
|
|
||||||
|
--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
|
||||||
|
|
||||||
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
|
||||||
|
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
SELECT COUNT(*) = 1 FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# Confirm that key messages around SST and IST reference IPv6
|
||||||
|
|
||||||
|
--connection node_1
|
||||||
|
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
|
||||||
|
--let $assert_only_after = CURRENT_TEST
|
||||||
|
|
||||||
|
# The SSTs happen when nodes are started first time
|
||||||
|
--let $assert_count= 2
|
||||||
|
--let $assert_text = Streaming the backup to joiner at \[::1\]
|
||||||
|
--let $assert_select = Streaming the backup to joiner at \[::1\]
|
||||||
|
--source include/assert_grep.inc
|
||||||
|
|
||||||
|
# There will be 1 ISTs donated from node_1 in Galera 3.
|
||||||
|
# Two first happen at the initial startup to populate the certification
|
||||||
|
# index. The third one is from the IST which happens during the actual test.
|
||||||
|
--let $assert_count= 1
|
||||||
|
--let $assert_text = async IST sender starting to serve tcp://\[::1\]:
|
||||||
|
--let $assert_select = async IST sender starting to serve tcp://\[::1\]:
|
||||||
|
--source include/assert_grep.inc
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
|
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
|
||||||
|
--let $assert_only_after = CURRENT_TEST
|
||||||
|
|
||||||
|
# There is one ISTs on joiner at Galera 3.
|
||||||
|
--let $assert_count= 1
|
||||||
|
--let $assert_text = IST receiver addr using tcp://\[::1\]
|
||||||
|
--let $assert_select = IST receiver addr using tcp://\[::1\]
|
||||||
|
--source include/assert_grep.inc
|
||||||
|
|
||||||
|
# There will be only one Prepared IST and in Galera 3 segnos are not printed
|
||||||
|
--let $assert_count= 1
|
||||||
|
--let $assert_text = Prepared IST receiver, listening at: tcp://\[::1\]
|
||||||
|
--let $assert_select = Prepared IST receiver, listening at: tcp://\[::1\]
|
||||||
|
--source include/assert_grep.inc
|
@ -0,0 +1,31 @@
|
|||||||
|
!include ../galera_3nodes.cnf
|
||||||
|
|
||||||
|
# decoy value - should not be read by mysqld or sst scripts
|
||||||
|
[mysqld]
|
||||||
|
innodb-data-home-dir=/tmp
|
||||||
|
|
||||||
|
[mariadb]
|
||||||
|
innodb-data-home-dir=
|
||||||
|
wsrep_sst_method=rsync
|
||||||
|
wsrep_node_address=::1
|
||||||
|
|
||||||
|
[mariadb.1]
|
||||||
|
wsrep-cluster-address=gcomm://
|
||||||
|
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'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.1.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.1.port'
|
||||||
|
|
||||||
|
[mariadb.2]
|
||||||
|
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
|
||||||
|
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'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.2.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.2.port'
|
||||||
|
|
||||||
|
[mariadb.3]
|
||||||
|
wsrep_cluster_address='gcomm://[::1]:@mysqld.1.#galera_port'
|
||||||
|
wsrep_provider_options='base_host=[::1];base_port=@mysqld.3.#galera_port;gmcast.listen_addr=tcp://[::]:@mysqld.3.#galera_port;ist.recv_addr=[::1]:@mysqld.3.#ist_port'
|
||||||
|
wsrep_sst_receive_address='[::1]:@mysqld.3.#sst_port'
|
||||||
|
wsrep_node_incoming_address='[::1]:@mysqld.3.port'
|
||||||
|
|
||||||
|
[SST]
|
||||||
|
sockopt=",pf=ip6"
|
@ -0,0 +1 @@
|
|||||||
|
--bind-address=::
|
@ -0,0 +1,32 @@
|
|||||||
|
--source include/galera_cluster.inc
|
||||||
|
--source include/check_ipv6.inc
|
||||||
|
|
||||||
|
# Confirm that initial handshake happened over ipv6
|
||||||
|
|
||||||
|
SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_incoming_addresses';
|
||||||
|
SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
|
||||||
|
# Force IST
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
|
||||||
|
|
||||||
|
--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
|
||||||
|
|
||||||
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
|
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
|
||||||
|
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
SELECT COUNT(*) = 1 FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
@ -28,7 +28,6 @@ WSREP_SST_OPT_PSWD=${WSREP_SST_OPT_PSWD:-}
|
|||||||
WSREP_SST_OPT_DEFAULT=""
|
WSREP_SST_OPT_DEFAULT=""
|
||||||
WSREP_SST_OPT_EXTRA_DEFAULT=""
|
WSREP_SST_OPT_EXTRA_DEFAULT=""
|
||||||
WSREP_SST_OPT_SUFFIX_DEFAULT=""
|
WSREP_SST_OPT_SUFFIX_DEFAULT=""
|
||||||
WSREP_SST_OPT_SUFFIX_VALUE=""
|
|
||||||
INNODB_DATA_HOME_DIR_ARG=""
|
INNODB_DATA_HOME_DIR_ARG=""
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
@ -94,7 +93,6 @@ case "$1" in
|
|||||||
;;
|
;;
|
||||||
'--defaults-group-suffix')
|
'--defaults-group-suffix')
|
||||||
readonly WSREP_SST_OPT_SUFFIX_DEFAULT="$1=$2"
|
readonly WSREP_SST_OPT_SUFFIX_DEFAULT="$1=$2"
|
||||||
readonly WSREP_SST_OPT_SUFFIX_VALUE="$2"
|
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
'--host')
|
'--host')
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash -ue
|
#!/bin/bash -ue
|
||||||
# Copyright (C) 2013 Percona Inc
|
# Copyright (C) 2013 Percona Inc
|
||||||
# Copyright (C) 2017 MariaDB
|
# Copyright (C) 2017-2019 MariaDB
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -77,7 +77,7 @@ sdecomp=""
|
|||||||
# 5.6.21 PXC and later can't donate to an older joiner
|
# 5.6.21 PXC and later can't donate to an older joiner
|
||||||
sst_ver=1
|
sst_ver=1
|
||||||
|
|
||||||
if which pv &>/dev/null && pv --help | grep -q FORMAT;then
|
if pv --help 2>/dev/null | grep -q FORMAT;then
|
||||||
pvopts+=$pvformat
|
pvopts+=$pvformat
|
||||||
fi
|
fi
|
||||||
pcmd="pv $pvopts"
|
pcmd="pv $pvopts"
|
||||||
@ -175,10 +175,8 @@ get_transfer()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $tfmt == 'nc' ]];then
|
if [[ $tfmt == 'nc' ]];then
|
||||||
if [[ ! -x `which nc` ]];then
|
wsrep_check_programs nc
|
||||||
wsrep_log_error "nc(netcat) not found in path: $PATH"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
wsrep_log_info "Using netcat as streamer"
|
wsrep_log_info "Using netcat as streamer"
|
||||||
if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then
|
if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then
|
||||||
if nc -h 2>&1 | grep -q ncat;then
|
if nc -h 2>&1 | grep -q ncat;then
|
||||||
@ -205,11 +203,8 @@ get_transfer()
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
tfmt='socat'
|
tfmt='socat'
|
||||||
|
wsrep_check_programs socat
|
||||||
wsrep_log_info "Using socat as streamer"
|
wsrep_log_info "Using socat as streamer"
|
||||||
if [[ ! -x `which socat` ]];then
|
|
||||||
wsrep_log_error "socat not found in path: $PATH"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $encrypt -eq 2 || $encrypt -eq 3 ]] && ! socat -V | grep -q "WITH_OPENSSL 1";then
|
if [[ $encrypt -eq 2 || $encrypt -eq 3 ]] && ! socat -V | grep -q "WITH_OPENSSL 1";then
|
||||||
wsrep_log_error "Encryption requested, but socat is not OpenSSL enabled (encrypt=$encrypt)"
|
wsrep_log_error "Encryption requested, but socat is not OpenSSL enabled (encrypt=$encrypt)"
|
||||||
@ -298,7 +293,7 @@ get_footprint()
|
|||||||
adjust_progress()
|
adjust_progress()
|
||||||
{
|
{
|
||||||
|
|
||||||
if [[ ! -x `which pv` ]];then
|
if ! command -v pv >/dev/null;then
|
||||||
wsrep_log_error "pv not found in path: $PATH"
|
wsrep_log_error "pv not found in path: $PATH"
|
||||||
wsrep_log_error "Disabling all progress/rate-limiting"
|
wsrep_log_error "Disabling all progress/rate-limiting"
|
||||||
pcmd=""
|
pcmd=""
|
||||||
@ -603,7 +598,7 @@ recv_joiner()
|
|||||||
pushd ${dir} 1>/dev/null
|
pushd ${dir} 1>/dev/null
|
||||||
set +e
|
set +e
|
||||||
|
|
||||||
if [[ $tmt -gt 0 && -x `which timeout` ]];then
|
if [[ $tmt -gt 0 ]] && command -v timeout >/dev/null;then
|
||||||
if timeout --help | grep -q -- '-k';then
|
if timeout --help | grep -q -- '-k';then
|
||||||
ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
|
ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
|
||||||
else
|
else
|
||||||
@ -673,7 +668,7 @@ monitor_process()
|
|||||||
exit 32
|
exit 32
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! ps -p "${sst_stream_pid}" &>/dev/null; then
|
if ! ps -p "${sst_stream_pid}" &>/dev/null; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -682,10 +677,7 @@ monitor_process()
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ ! -x `which $INNOBACKUPEX_BIN` ]];then
|
wsrep_check_programs "$INNOBACKUPEX_BIN"
|
||||||
wsrep_log_error "${INNOBACKUPEX_BIN} not in path: $PATH"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f "${MAGIC_FILE}"
|
rm -f "${MAGIC_FILE}"
|
||||||
|
|
||||||
@ -709,9 +701,30 @@ fi
|
|||||||
|
|
||||||
INNOEXTRA=""
|
INNOEXTRA=""
|
||||||
|
|
||||||
|
INNODB_DATA_HOME_DIR=${INNODB_DATA_HOME_DIR:-""}
|
||||||
|
# Try to set INNODB_DATA_HOME_DIR from the command line:
|
||||||
|
if [ ! -z "$INNODB_DATA_HOME_DIR_ARG" ]; then
|
||||||
|
INNODB_DATA_HOME_DIR=$INNODB_DATA_HOME_DIR_ARG
|
||||||
|
fi
|
||||||
|
# if INNODB_DATA_HOME_DIR env. variable is not set, try to get it from my.cnf
|
||||||
|
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
|
INNODB_DATA_HOME_DIR=$(parse_cnf --mysqld innodb-data-home-dir '')
|
||||||
|
fi
|
||||||
|
if [ ! -z "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
|
INNOEXTRA+=" --innodb-data-home-dir=$INNODB_DATA_HOME_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
|
# handle both relative and absolute paths
|
||||||
|
INNODB_DATA_HOME_DIR=$(cd $DATA; mkdir -p "$INNODB_DATA_HOME_DIR"; cd $INNODB_DATA_HOME_DIR; pwd -P)
|
||||||
|
else
|
||||||
|
# default to datadir
|
||||||
|
INNODB_DATA_HOME_DIR=$(cd $DATA; pwd -P)
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $ssyslog -eq 1 ]];then
|
if [[ $ssyslog -eq 1 ]];then
|
||||||
|
|
||||||
if [[ ! -x `which logger` ]];then
|
if ! command -v logger >/dev/null;then
|
||||||
wsrep_log_error "logger not in path: $PATH. Ignoring"
|
wsrep_log_error "logger not in path: $PATH. Ignoring"
|
||||||
else
|
else
|
||||||
|
|
||||||
@ -729,7 +742,7 @@ if [[ $ssyslog -eq 1 ]];then
|
|||||||
logger -p daemon.info -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE "$@"
|
logger -p daemon.info -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
INNOAPPLY="${INNOBACKUPEX_BIN} --innobackupex $disver $iapts --apply-log \$rebuildcmd \${DATA} 2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-apply "
|
INNOAPPLY="${INNOBACKUPEX_BIN} --innobackupex $disver $iapts \$INNOEXTRA --apply-log \$rebuildcmd \${DATA} 2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-apply "
|
||||||
INNOMOVE="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $impts --move-back --force-non-empty-directories \${DATA} 2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-move "
|
INNOMOVE="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $impts --move-back --force-non-empty-directories \${DATA} 2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-move "
|
||||||
INNOBACKUP="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $iopts \$tmpopts \$INNOEXTRA --galera-info --stream=\$sfmt \$itmpdir 2> >(logger -p daemon.err -t ${ssystag}innobackupex-backup)"
|
INNOBACKUP="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $iopts \$tmpopts \$INNOEXTRA --galera-info --stream=\$sfmt \$itmpdir 2> >(logger -p daemon.err -t ${ssystag}innobackupex-backup)"
|
||||||
fi
|
fi
|
||||||
@ -738,8 +751,8 @@ else
|
|||||||
|
|
||||||
if [[ "$sstlogarchive" -eq 1 ]]
|
if [[ "$sstlogarchive" -eq 1 ]]
|
||||||
then
|
then
|
||||||
ARCHIVETIMESTAMP=$(date "+%Y.%m.%d-%H.%M.%S")
|
ARCHIVETIMESTAMP=$(date "+%Y.%m.%d-%H.%M.%S.%N")
|
||||||
newfile=""
|
newfile=""
|
||||||
|
|
||||||
if [[ ! -z "$sstlogarchivedir" ]]
|
if [[ ! -z "$sstlogarchivedir" ]]
|
||||||
then
|
then
|
||||||
@ -793,7 +806,7 @@ then
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
INNOAPPLY="${INNOBACKUPEX_BIN} --innobackupex $disver $iapts --apply-log \$rebuildcmd \${DATA} &> ${INNOAPPLYLOG}"
|
INNOAPPLY="${INNOBACKUPEX_BIN} --innobackupex $disver $iapts \$INNOEXTRA --apply-log \$rebuildcmd \${DATA} &> ${INNOAPPLYLOG}"
|
||||||
INNOMOVE="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $impts --move-back --force-non-empty-directories \${DATA} &> ${INNOMOVELOG}"
|
INNOMOVE="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $impts --move-back --force-non-empty-directories \${DATA} &> ${INNOMOVELOG}"
|
||||||
INNOBACKUP="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $iopts \$tmpopts \$INNOEXTRA --galera-info --stream=\$sfmt \$itmpdir 2> ${INNOBACKUPLOG}"
|
INNOBACKUP="${INNOBACKUPEX_BIN} --innobackupex ${WSREP_SST_OPT_CONF} $disver $iopts \$tmpopts \$INNOEXTRA --galera-info --stream=\$sfmt \$itmpdir 2> ${INNOBACKUPLOG}"
|
||||||
fi
|
fi
|
||||||
@ -814,7 +827,7 @@ then
|
|||||||
exit 93
|
exit 93
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z $(parse_cnf mysqld tmpdir "") && -z $(parse_cnf xtrabackup tmpdir "") ]];then
|
if [[ -z $(parse_cnf --mysqld tmpdir "") && -z $(parse_cnf xtrabackup tmpdir "") ]];then
|
||||||
xtmpdir=$(mktemp -d)
|
xtmpdir=$(mktemp -d)
|
||||||
tmpopts=" --tmpdir=$xtmpdir "
|
tmpopts=" --tmpdir=$xtmpdir "
|
||||||
wsrep_log_info "Using $xtmpdir as xtrabackup temporary directory"
|
wsrep_log_info "Using $xtmpdir as xtrabackup temporary directory"
|
||||||
@ -936,9 +949,9 @@ then
|
|||||||
[[ -e $SST_PROGRESS_FILE ]] && wsrep_log_info "Stale sst_in_progress file: $SST_PROGRESS_FILE"
|
[[ -e $SST_PROGRESS_FILE ]] && wsrep_log_info "Stale sst_in_progress file: $SST_PROGRESS_FILE"
|
||||||
[[ -n $SST_PROGRESS_FILE ]] && touch $SST_PROGRESS_FILE
|
[[ -n $SST_PROGRESS_FILE ]] && touch $SST_PROGRESS_FILE
|
||||||
|
|
||||||
ib_home_dir=$(parse_cnf mysqld innodb-data-home-dir "")
|
ib_home_dir=$INNODB_DATA_HOME_DIR
|
||||||
ib_log_dir=$(parse_cnf mysqld innodb-log-group-home-dir "")
|
ib_log_dir=$(parse_cnf --mysqld innodb-log-group-home-dir "")
|
||||||
ib_undo_dir=$(parse_cnf mysqld innodb-undo-directory "")
|
ib_undo_dir=$(parse_cnf --mysqld innodb-undo-directory "")
|
||||||
|
|
||||||
stagemsg="Joiner-Recv"
|
stagemsg="Joiner-Recv"
|
||||||
|
|
||||||
@ -1008,15 +1021,14 @@ then
|
|||||||
jpid=$!
|
jpid=$!
|
||||||
wsrep_log_info "Proceeding with SST"
|
wsrep_log_info "Proceeding with SST"
|
||||||
|
|
||||||
|
|
||||||
wsrep_log_info "Cleaning the existing datadir and innodb-data/log directories"
|
wsrep_log_info "Cleaning the existing datadir and innodb-data/log directories"
|
||||||
if [ "${OS}" = "FreeBSD" ]; then
|
if [ "${OS}" = "FreeBSD" ]; then
|
||||||
find -E $ib_home_dir $ib_log_dir $ib_undo_dir $DATA -mindepth 1 -prune -regex $cpat -o -exec rm -rfv {} 1>&2 \+
|
find -E $ib_home_dir $ib_log_dir $ib_undo_dir $DATA -mindepth 1 -prune -regex $cpat -o -exec rm -rfv {} 1>&2 \+
|
||||||
else
|
else
|
||||||
find $ib_home_dir $ib_log_dir $ib_undo_dir $DATA -mindepth 1 -prune -regex $cpat -o -exec rm -rfv {} 1>&2 \+
|
find $ib_home_dir $ib_log_dir $ib_undo_dir $DATA -mindepth 1 -prune -regex $cpat -o -exec rm -rfv {} 1>&2 \+
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tempdir=$(parse_cnf mysqld log-bin "")
|
tempdir=$(parse_cnf --mysqld log-bin "")
|
||||||
if [[ -n ${tempdir:-} ]];then
|
if [[ -n ${tempdir:-} ]];then
|
||||||
binlog_dir=$(dirname $tempdir)
|
binlog_dir=$(dirname $tempdir)
|
||||||
binlog_file=$(basename $tempdir)
|
binlog_file=$(basename $tempdir)
|
||||||
@ -1061,7 +1073,7 @@ then
|
|||||||
|
|
||||||
wsrep_log_info "Compressed qpress files found"
|
wsrep_log_info "Compressed qpress files found"
|
||||||
|
|
||||||
if [[ ! -x `which qpress` ]];then
|
if ! command -v qpress >/dev/null;then
|
||||||
wsrep_log_error "qpress not found in path: $PATH"
|
wsrep_log_error "qpress not found in path: $PATH"
|
||||||
exit 22
|
exit 22
|
||||||
fi
|
fi
|
||||||
|
@ -169,10 +169,7 @@ if [ ! -z "$INNODB_DATA_HOME_DIR_ARG" ]; then
|
|||||||
fi
|
fi
|
||||||
# if INNODB_DATA_HOME_DIR env. variable is not set, try to get it from my.cnf
|
# if INNODB_DATA_HOME_DIR env. variable is not set, try to get it from my.cnf
|
||||||
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
INNODB_DATA_HOME_DIR=$(parse_cnf mysqld$WSREP_SST_OPT_SUFFIX_VALUE innodb-data-home-dir '')
|
INNODB_DATA_HOME_DIR=$(parse_cnf --mysqld innodb-data-home-dir '')
|
||||||
fi
|
|
||||||
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
|
||||||
INNODB_DATA_HOME_DIR=$(parse_cnf --mysqld innodb-data-home-dir "")
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$INNODB_DATA_HOME_DIR" ]; then
|
if [ -n "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
|
@ -905,9 +905,6 @@ if [ ! -z "$INNODB_DATA_HOME_DIR_ARG" ]; then
|
|||||||
INNODB_DATA_HOME_DIR=$INNODB_DATA_HOME_DIR_ARG
|
INNODB_DATA_HOME_DIR=$INNODB_DATA_HOME_DIR_ARG
|
||||||
fi
|
fi
|
||||||
# if INNODB_DATA_HOME_DIR env. variable is not set, try to get it from my.cnf
|
# if INNODB_DATA_HOME_DIR env. variable is not set, try to get it from my.cnf
|
||||||
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
|
||||||
INNODB_DATA_HOME_DIR=$(parse_cnf mysqld$WSREP_SST_OPT_SUFFIX_VALUE innodb-data-home-dir '')
|
|
||||||
fi
|
|
||||||
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
if [ -z "$INNODB_DATA_HOME_DIR" ]; then
|
||||||
INNODB_DATA_HOME_DIR=$(parse_cnf --mysqld innodb-data-home-dir "")
|
INNODB_DATA_HOME_DIR=$(parse_cnf --mysqld innodb-data-home-dir "")
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user