mirror of
https://github.com/MariaDB/server.git
synced 2025-01-26 00:34:18 +01:00
8672339328
Adjust the configuration options, as discussed on the maria-developers@ mailing list. The option to hint a transaction to not be replicated in parallel is now called @@skip_parallel_replication, consistent with @@skip_replication. And the --slave-parallel-mode is now simplified to have just one of the following values: none minimal conservative optimistic aggressive This reflects successively harder efforts to find opportunities to run things in parallel on the slave. It allows to extend the server with more automatic heuristics in the future without having to introduce a new configuration option for each and every one.
74 lines
2.1 KiB
Text
74 lines
2.1 KiB
Text
--source include/have_innodb.inc
|
|
--source include/have_binlog_format_statement.inc
|
|
--let $rpl_topology=1->2
|
|
--source include/rpl_init.inc
|
|
|
|
--connection server_1
|
|
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
|
|
CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,0), (2,0), (3,0);
|
|
INSERT INTO t2 VALUES (1,0), (2,0);
|
|
--save_master_pos
|
|
|
|
|
|
--connection server_2
|
|
--sync_with_master
|
|
SET @old_isolation= @@GLOBAL.tx_isolation;
|
|
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
|
|
--source include/stop_slave.inc
|
|
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
SET GLOBAL slave_parallel_threads=10;
|
|
CHANGE MASTER TO master_use_gtid=slave_pos;
|
|
SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode;
|
|
SET GLOBAL slave_parallel_mode='aggressive';
|
|
|
|
|
|
--echo *** Test that we replicate correctly when using READ COMMITTED and --log-slave-updates=0 on the slave ***
|
|
|
|
--connection server_1
|
|
|
|
INSERT INTO t1 SELECT 4, COUNT(*) FROM t2;
|
|
INSERT INTO t2 SELECT 4, COUNT(*) FROM t1;
|
|
|
|
INSERT INTO t1 SELECT 5, COUNT(*) FROM t2;
|
|
INSERT INTO t2 SELECT 5, COUNT(*) FROM t1;
|
|
|
|
INSERT INTO t2 SELECT 6, COUNT(*) FROM t1;
|
|
INSERT INTO t1 SELECT 6, COUNT(*) FROM t2;
|
|
|
|
INSERT INTO t1 SELECT 7, COUNT(*) FROM t2;
|
|
INSERT INTO t2 SELECT 7, COUNT(*) FROM t1;
|
|
|
|
INSERT INTO t2 SELECT 8, COUNT(*) FROM t1;
|
|
INSERT INTO t1 SELECT 8, COUNT(*) FROM t2;
|
|
|
|
INSERT INTO t2 SELECT 9, COUNT(*) FROM t1;
|
|
INSERT INTO t1 SELECT 9, COUNT(*) FROM t2;
|
|
|
|
INSERT INTO t1 SELECT 10, COUNT(*) FROM t2;
|
|
INSERT INTO t2 SELECT 10, COUNT(*) FROM t1;
|
|
|
|
SELECT * FROM t1 ORDER BY a;
|
|
SELECT * FROM t2 ORDER BY a;
|
|
--source include/save_master_gtid.inc
|
|
|
|
--connection server_2
|
|
--source include/start_slave.inc
|
|
--source include/sync_with_master_gtid.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
SELECT * FROM t2 ORDER BY a;
|
|
|
|
|
|
--connection server_2
|
|
--source include/stop_slave.inc
|
|
SET GLOBAL tx_isolation= @old_isolation;
|
|
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
|
|
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
|
|
--source include/start_slave.inc
|
|
|
|
--connection server_1
|
|
DROP TABLE t1, t2;
|
|
|
|
--source include/rpl_end.inc
|
|
|