mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.11 into 11.0
This commit is contained in:
@@ -1,10 +1,4 @@
|
|||||||
use mysql;
|
use mysql;
|
||||||
Running bootstrap
|
|
||||||
Creating my.ini file
|
|
||||||
Removing default user
|
|
||||||
Allowing remote access for user root
|
|
||||||
Setting root password
|
|
||||||
Creation of the database was successful
|
|
||||||
# Kill the server
|
# Kill the server
|
||||||
# restart: --datadir=MYSQLTEST_VARDIR/tmp/ddir
|
# restart: --datadir=MYSQLTEST_VARDIR/tmp/ddir
|
||||||
connect root,localhost,root,wrongpass,mysql;
|
connect root,localhost,root,wrongpass,mysql;
|
||||||
|
@@ -6,12 +6,15 @@
|
|||||||
# and start server from this directory.
|
# and start server from this directory.
|
||||||
let $ddir= $MYSQLTEST_VARDIR/tmp/ddir;
|
let $ddir= $MYSQLTEST_VARDIR/tmp/ddir;
|
||||||
use mysql;
|
use mysql;
|
||||||
exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R;
|
--disable_result_log
|
||||||
|
exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo --verbose-bootstrap -R;
|
||||||
|
--enable_result_log
|
||||||
--source include/kill_mysqld.inc
|
--source include/kill_mysqld.inc
|
||||||
let $restart_parameters=--datadir=$ddir;
|
let $restart_parameters=--datadir=$ddir;
|
||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
|
|
||||||
# Check that connect with wrong password succeeds
|
# Check that connect with wrong password succeeds
|
||||||
|
# (because it can alternatively connect with GSSAPI as admin)
|
||||||
connect (root,localhost,root,wrongpass,mysql);
|
connect (root,localhost,root,wrongpass,mysql);
|
||||||
|
|
||||||
--source include/kill_mysqld.inc
|
--source include/kill_mysqld.inc
|
||||||
|
@@ -4,9 +4,7 @@ connection node_1;
|
|||||||
SET GLOBAL wsrep_load_data_splitting=ON;
|
SET GLOBAL wsrep_load_data_splitting=ON;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
|
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
|
||||||
SET GLOBAL wsrep_replicate_myisam=ON;
|
SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
|
||||||
Warnings:
|
|
||||||
Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
|
|
||||||
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
||||||
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
|
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
|
||||||
Warnings:
|
Warnings:
|
||||||
@@ -33,6 +31,4 @@ DROP TABLE t1;
|
|||||||
SET GLOBAL wsrep_load_data_splitting=OFF;
|
SET GLOBAL wsrep_load_data_splitting=OFF;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
|
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
|
||||||
SET GLOBAL wsrep_replicate_myisam=OFF;
|
SET GLOBAL wsrep_mode=DEFAULT;
|
||||||
Warnings:
|
|
||||||
Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
|
|
||||||
|
@@ -10,7 +10,7 @@ SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VA
|
|||||||
EXPECT_4
|
EXPECT_4
|
||||||
4
|
4
|
||||||
connection node_1;
|
connection node_1;
|
||||||
CREATE TABLE t1 (f1 INTEGER);
|
CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
|
||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO t1 VALUES (2);
|
INSERT INTO t1 VALUES (2);
|
||||||
@@ -20,6 +20,8 @@ connection node_4;
|
|||||||
INSERT INTO t1 VALUES (4);
|
INSERT INTO t1 VALUES (4);
|
||||||
connection node_3;
|
connection node_3;
|
||||||
INSERT INTO t1 VALUES (13);
|
INSERT INTO t1 VALUES (13);
|
||||||
|
connection node_1;
|
||||||
|
connection node_3;
|
||||||
Killing server ...
|
Killing server ...
|
||||||
connection node_1;
|
connection node_1;
|
||||||
INSERT INTO t1 VALUES (11);
|
INSERT INTO t1 VALUES (11);
|
||||||
@@ -29,8 +31,11 @@ connection node_4;
|
|||||||
INSERT INTO t1 VALUES (14);
|
INSERT INTO t1 VALUES (14);
|
||||||
connection node_3;
|
connection node_3;
|
||||||
INSERT INTO t1 VALUES (131);
|
INSERT INTO t1 VALUES (131);
|
||||||
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO t1 VALUES (22);
|
INSERT INTO t1 VALUES (22);
|
||||||
|
connection node_1;
|
||||||
|
connection node_2;
|
||||||
Killing server ...
|
Killing server ...
|
||||||
connection node_1;
|
connection node_1;
|
||||||
INSERT INTO t1 VALUES (21);
|
INSERT INTO t1 VALUES (21);
|
||||||
@@ -42,6 +47,8 @@ connection node_2;
|
|||||||
INSERT INTO t1 VALUES (221);
|
INSERT INTO t1 VALUES (221);
|
||||||
connection node_4;
|
connection node_4;
|
||||||
INSERT INTO t1 VALUES (34);
|
INSERT INTO t1 VALUES (34);
|
||||||
|
connection node_1;
|
||||||
|
connection node_4;
|
||||||
Killing server ...
|
Killing server ...
|
||||||
connection node_1;
|
connection node_1;
|
||||||
INSERT INTO t1 VALUES (31);
|
INSERT INTO t1 VALUES (31);
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
SET GLOBAL wsrep_load_data_splitting=ON;
|
SET GLOBAL wsrep_load_data_splitting=ON;
|
||||||
SET GLOBAL wsrep_replicate_myisam=ON;
|
SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
|
||||||
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
||||||
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
|
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
|
||||||
SELECT COUNT(*) AS EXPECT_6 FROM t1;
|
SELECT COUNT(*) AS EXPECT_6 FROM t1;
|
||||||
@@ -22,6 +22,6 @@ SELECT COUNT(*) AS EXPECT_12 FROM t1;
|
|||||||
--connection node_1
|
--connection node_1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET GLOBAL wsrep_load_data_splitting=OFF;
|
SET GLOBAL wsrep_load_data_splitting=OFF;
|
||||||
SET GLOBAL wsrep_replicate_myisam=OFF;
|
SET GLOBAL wsrep_mode=DEFAULT;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -10,9 +10,11 @@ ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
|
|||||||
|
|
||||||
[mysqld.1]
|
[mysqld.1]
|
||||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
|
wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true'
|
||||||
|
innodb-log-file-buffering
|
||||||
|
|
||||||
[mysqld.2]
|
[mysqld.2]
|
||||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
|
wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true'
|
||||||
|
innodb-log-file-buffering
|
||||||
|
|
||||||
[sst]
|
[sst]
|
||||||
ssl-mode=VERIFY_CA
|
ssl-mode=VERIFY_CA
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
--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_innodb.inc
|
||||||
|
--source include/force_restart.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
|
||||||
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
|
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
CREATE TABLE t1 (f1 INTEGER);
|
CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
|
||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
@@ -45,10 +46,20 @@ INSERT INTO t1 VALUES (4);
|
|||||||
|
|
||||||
--connection node_3
|
--connection node_3
|
||||||
INSERT INTO t1 VALUES (13);
|
INSERT INTO t1 VALUES (13);
|
||||||
|
--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
|
||||||
--source include/kill_galera.inc
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
|
--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
--connection node_3
|
||||||
|
--source include/kill_galera.inc
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
|
||||||
|
|
||||||
|
--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
|
||||||
INSERT INTO t1 VALUES (11);
|
INSERT INTO t1 VALUES (11);
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
@@ -62,6 +73,10 @@ INSERT INTO t1 VALUES (14);
|
|||||||
|
|
||||||
INSERT INTO t1 VALUES (131);
|
INSERT INTO t1 VALUES (131);
|
||||||
|
|
||||||
|
--connection node_1
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Restart node #2
|
# Restart node #2
|
||||||
#
|
#
|
||||||
@@ -69,9 +84,17 @@ INSERT INTO t1 VALUES (131);
|
|||||||
--connection node_2
|
--connection node_2
|
||||||
INSERT INTO t1 VALUES (22);
|
INSERT INTO t1 VALUES (22);
|
||||||
|
|
||||||
|
--connection node_1
|
||||||
|
--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
--connection node_2
|
||||||
--source include/kill_galera.inc
|
--source include/kill_galera.inc
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
|
||||||
|
|
||||||
--connection node_1
|
--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
|
||||||
INSERT INTO t1 VALUES (21);
|
INSERT INTO t1 VALUES (21);
|
||||||
|
|
||||||
--connection node_3
|
--connection node_3
|
||||||
@@ -90,11 +113,21 @@ INSERT INTO t1 VALUES (221);
|
|||||||
#
|
#
|
||||||
|
|
||||||
--connection node_4
|
--connection node_4
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
--source include/wait_condition.inc
|
||||||
INSERT INTO t1 VALUES (34);
|
INSERT INTO t1 VALUES (34);
|
||||||
|
|
||||||
|
--connection node_1
|
||||||
|
--let $wait_condition = SELECT COUNT(*) = 15 FROM t1;
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
--connection node_4
|
||||||
--source include/kill_galera.inc
|
--source include/kill_galera.inc
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
|
||||||
|
|
||||||
--connection node_1
|
--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
|
||||||
INSERT INTO t1 VALUES (31);
|
INSERT INTO t1 VALUES (31);
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
@@ -105,6 +138,7 @@ INSERT INTO t1 VALUES (33);
|
|||||||
|
|
||||||
--connection node_4
|
--connection node_4
|
||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
|
||||||
|
|
||||||
INSERT INTO t1 VALUES (341);
|
INSERT INTO t1 VALUES (341);
|
||||||
|
|
||||||
|
@@ -1 +1,10 @@
|
|||||||
!include ../galera_2nodes_as_master.cnf
|
!include ../galera_2nodes_as_master.cnf
|
||||||
|
|
||||||
|
[mysqld.1]
|
||||||
|
innodb-log-file-buffering
|
||||||
|
|
||||||
|
[mysqld.2]
|
||||||
|
innodb-log-file-buffering
|
||||||
|
|
||||||
|
[mysqld.3]
|
||||||
|
innodb-log-file-buffering
|
||||||
|
@@ -7,6 +7,9 @@ connection node_2;
|
|||||||
SELECT COUNT(*) = 3 FROM mysql.wsrep_allowlist;
|
SELECT COUNT(*) = 3 FROM mysql.wsrep_allowlist;
|
||||||
COUNT(*) = 3
|
COUNT(*) = 3
|
||||||
1
|
1
|
||||||
|
connection node_1;
|
||||||
|
connection node_2;
|
||||||
|
connection node_3;
|
||||||
connection node_3;
|
connection node_3;
|
||||||
SET @@global.wsrep_desync = 1;
|
SET @@global.wsrep_desync = 1;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
|
@@ -12,6 +12,12 @@ SELECT COUNT(*) = 3 FROM mysql.wsrep_allowlist;
|
|||||||
--let $galera_server_number = 3
|
--let $galera_server_number = 3
|
||||||
--source include/galera_connect.inc
|
--source include/galera_connect.inc
|
||||||
|
|
||||||
|
# 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_3
|
--connection node_3
|
||||||
# Desync and disconnect node 3 from the PC:
|
# Desync and disconnect node 3 from the PC:
|
||||||
SET @@global.wsrep_desync = 1;
|
SET @@global.wsrep_desync = 1;
|
||||||
@@ -64,3 +70,6 @@ CALL mtr.add_suppression('WSREP: Connection not allowed');
|
|||||||
|
|
||||||
--connection node_3
|
--connection node_3
|
||||||
CALL mtr.add_suppression('WSREP: Ignoring lack of quorum');
|
CALL mtr.add_suppression('WSREP: Ignoring lack of quorum');
|
||||||
|
|
||||||
|
# Restore original auto_increment_offset values.
|
||||||
|
--source ../galera/include/auto_increment_offset_restore.inc
|
||||||
|
@@ -6,20 +6,26 @@ connection node_2;
|
|||||||
connection node_3;
|
connection node_3;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
|
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
|
||||||
CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB;
|
CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
|
||||||
SET AUTOCOMMIT=OFF;
|
SET AUTOCOMMIT=OFF;
|
||||||
SET SESSION wsrep_trx_fragment_size=1;
|
SET SESSION wsrep_trx_fragment_size=1;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
|
INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
Got one of the listed errors
|
Got one of the listed errors
|
||||||
|
connection node_1;
|
||||||
|
connection node_2;
|
||||||
# restart
|
# restart
|
||||||
connection node_1;
|
connection node_1;
|
||||||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
||||||
COUNT(*) = 0
|
COUNT(*) = 0
|
||||||
1
|
1
|
||||||
|
SELECT * FROM t1;
|
||||||
|
f1
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
||||||
COUNT(*) = 0
|
COUNT(*) = 0
|
||||||
1
|
1
|
||||||
|
SELECT * FROM t1;
|
||||||
|
f1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@@ -44,6 +44,7 @@ connection node_2;
|
|||||||
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
|
||||||
EXPECT_0
|
EXPECT_0
|
||||||
0
|
0
|
||||||
|
call mtr.add_suppression("WSREP: node uuid:.*");
|
||||||
connection node_1;
|
connection node_1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
#
|
#
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
|
--source include/force_restart.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.
|
||||||
@@ -13,30 +14,42 @@
|
|||||||
--source ../galera/include/auto_increment_offset_save.inc
|
--source ../galera/include/auto_increment_offset_save.inc
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
|
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
|
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
|
||||||
|
|
||||||
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
||||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
||||||
--exec echo "wait" > $_expect_file_name
|
--exec echo "wait" > $_expect_file_name
|
||||||
|
|
||||||
CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB;
|
CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
|
||||||
|
|
||||||
SET AUTOCOMMIT=OFF;
|
SET AUTOCOMMIT=OFF;
|
||||||
SET SESSION wsrep_trx_fragment_size=1;
|
SET SESSION wsrep_trx_fragment_size=1;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
|
||||||
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
|
INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
|
||||||
--error 2013,2026
|
--error 2013,2026
|
||||||
COMMIT;
|
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 include/start_mysqld.inc
|
||||||
|
|
||||||
--connection node_1
|
--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
|
||||||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
--enable_reconnect
|
--enable_reconnect
|
||||||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
--source include/force_restart.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.
|
||||||
@@ -86,6 +87,8 @@ SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
|
|||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
|
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
|
||||||
|
# As noted above sometimes node delivers the same view twice
|
||||||
|
call mtr.add_suppression("WSREP: node uuid:.*");
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@@ -3431,4 +3431,27 @@ ERROR HY000: Maybe missing parameters: no rotation condition for multiple HISTOR
|
|||||||
#
|
#
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# MDEV-31903 Server crashes in _ma_reset_history upon UNLOCK table with auto-create history partitions
|
||||||
|
#
|
||||||
|
set timestamp= unix_timestamp('2000-01-01 00:00:00');
|
||||||
|
create table t1 (x int) engine=aria with system versioning partition by system_time interval 1 hour auto partitions 3;
|
||||||
|
insert into t1 values (1);
|
||||||
|
create table t2 (x int) engine=aria;
|
||||||
|
create trigger tr after insert on t2 for each row update t1 set x= x + 11;
|
||||||
|
lock tables t1 write, t2 write;
|
||||||
|
update t1 set x= x + 1;
|
||||||
|
set timestamp= unix_timestamp('2000-01-01 13:00:00');
|
||||||
|
insert into t2 values (5);
|
||||||
|
unlock tables;
|
||||||
|
drop table t1, t2;
|
||||||
|
set timestamp= default;
|
||||||
|
#
|
||||||
|
# MDEV-29872 MSAN/Valgrind uninitialised value errors in TABLE::vers_switch_partition
|
||||||
|
#
|
||||||
|
create table t (a int) with system versioning partition by system_time limit 100 partitions 3;
|
||||||
|
drop table t;
|
||||||
|
#
|
||||||
|
# End of 10.9 tests
|
||||||
|
#
|
||||||
set global innodb_stats_persistent= @save_persistent;
|
set global innodb_stats_persistent= @save_persistent;
|
||||||
|
@@ -2673,5 +2673,43 @@ create table t (a int) with system versioning partition by system_time partition
|
|||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-31903 Server crashes in _ma_reset_history upon UNLOCK table with auto-create history partitions
|
||||||
|
--echo #
|
||||||
|
set timestamp= unix_timestamp('2000-01-01 00:00:00');
|
||||||
|
create table t1 (x int) engine=aria with system versioning partition by system_time interval 1 hour auto partitions 3;
|
||||||
|
insert into t1 values (1);
|
||||||
|
|
||||||
|
create table t2 (x int) engine=aria;
|
||||||
|
create trigger tr after insert on t2 for each row update t1 set x= x + 11;
|
||||||
|
lock tables t1 write, t2 write;
|
||||||
|
update t1 set x= x + 1;
|
||||||
|
set timestamp= unix_timestamp('2000-01-01 13:00:00');
|
||||||
|
insert into t2 values (5);
|
||||||
|
unlock tables;
|
||||||
|
drop table t1, t2;
|
||||||
|
set timestamp= default;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-29872 MSAN/Valgrind uninitialised value errors in TABLE::vers_switch_partition
|
||||||
|
--echo #
|
||||||
|
create table t (a int) with system versioning partition by system_time limit 100 partitions 3;
|
||||||
|
let $emb= `select if(version() like '%embedded%', 1, 0)`;
|
||||||
|
if (!$emb)
|
||||||
|
{
|
||||||
|
--disable_result_log
|
||||||
|
--disable_query_log
|
||||||
|
--error ER_DELAYED_NOT_SUPPORTED
|
||||||
|
insert delayed into t () values ();
|
||||||
|
--enable_query_log
|
||||||
|
--enable_result_log
|
||||||
|
}
|
||||||
|
# cleanup
|
||||||
|
drop table t;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.9 tests
|
||||||
|
--echo #
|
||||||
|
|
||||||
set global innodb_stats_persistent= @save_persistent;
|
set global innodb_stats_persistent= @save_persistent;
|
||||||
--source suite/versioning/common_finish.inc
|
--source suite/versioning/common_finish.inc
|
||||||
|
@@ -2401,7 +2401,7 @@ public:
|
|||||||
passed from connection thread to the handler thread.
|
passed from connection thread to the handler thread.
|
||||||
*/
|
*/
|
||||||
MDL_request grl_protection;
|
MDL_request grl_protection;
|
||||||
Delayed_insert(SELECT_LEX *current_select)
|
Delayed_insert(LEX *lex)
|
||||||
:locks_in_memory(0), thd(next_thread_id()),
|
:locks_in_memory(0), thd(next_thread_id()),
|
||||||
table(0),tables_in_use(0), stacked_inserts(0),
|
table(0),tables_in_use(0), stacked_inserts(0),
|
||||||
status(0), retry(0), handler_thread_initialized(FALSE), group_count(0)
|
status(0), retry(0), handler_thread_initialized(FALSE), group_count(0)
|
||||||
@@ -2414,8 +2414,9 @@ public:
|
|||||||
strmake_buf(thd.security_ctx->priv_user, thd.security_ctx->user);
|
strmake_buf(thd.security_ctx->priv_user, thd.security_ctx->user);
|
||||||
thd.current_tablenr=0;
|
thd.current_tablenr=0;
|
||||||
thd.set_command(COM_DELAYED_INSERT);
|
thd.set_command(COM_DELAYED_INSERT);
|
||||||
thd.lex->current_select= current_select;
|
thd.lex->current_select= lex->current_select;
|
||||||
thd.lex->sql_command= SQLCOM_INSERT; // For innodb::store_lock()
|
thd.lex->sql_command= lex->sql_command; // For innodb::store_lock()
|
||||||
|
thd.lex->duplicates= lex->duplicates;
|
||||||
/*
|
/*
|
||||||
Prevent changes to global.lock_wait_timeout from affecting
|
Prevent changes to global.lock_wait_timeout from affecting
|
||||||
delayed insert threads as any timeouts in delayed inserts
|
delayed insert threads as any timeouts in delayed inserts
|
||||||
@@ -2591,7 +2592,7 @@ bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
|
|||||||
*/
|
*/
|
||||||
if (! (di= find_handler(thd, table_list)))
|
if (! (di= find_handler(thd, table_list)))
|
||||||
{
|
{
|
||||||
if (!(di= new Delayed_insert(thd->lex->current_select)))
|
if (!(di= new Delayed_insert(thd->lex)))
|
||||||
goto end_create;
|
goto end_create;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -7753,7 +7753,7 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
|
|||||||
ERROR_INJECT("add_partition_1") ||
|
ERROR_INJECT("add_partition_1") ||
|
||||||
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
|
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
|
||||||
ERROR_INJECT("add_partition_2") ||
|
ERROR_INJECT("add_partition_2") ||
|
||||||
wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
|
wait_while_table_is_used(thd, table, HA_EXTRA_PREPARE_FOR_RENAME) ||
|
||||||
ERROR_INJECT("add_partition_3") ||
|
ERROR_INJECT("add_partition_3") ||
|
||||||
write_log_add_change_partition(lpt) ||
|
write_log_add_change_partition(lpt) ||
|
||||||
ERROR_INJECT("add_partition_4") ||
|
ERROR_INJECT("add_partition_4") ||
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#set(PLUGIN_COLUMNSTORE "NO" CACHE STRING "Enable ColumnStore engine")
|
#set(PLUGIN_COLUMNSTORE "NO" CACHE STRING "Enable ColumnStore engine")
|
||||||
|
|
||||||
if("NO" STREQUAL "${PLUGIN_COLUMNSTORE}")
|
if("NO" STREQUAL "${PLUGIN_COLUMNSTORE}" OR
|
||||||
|
(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/columnstore/CMakeLists.txt))
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user