summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test
blob: b4c2971d2fbcaa9914fe19debe97ce6865d16c7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# ==== Purpose ====
#
# Test verifies that replication shouldn't hang when number of active threads
# on the slave server are less than the allowed innodb_thread_concurrency value.
#
# ==== Implementation ====
#
# Steps:
#    0 - Have master slave replication setup with engine being Innodb.
#    1 - Configure innodb_thread_concurrency = 100.
#    2 - Do some DML on master and sync the slave with master.
#    3 - Ensure replication doesn't hang.
#
# ==== References ====
#
# MDEV-20247: Replication hangs with "preparing" and never starts
#

--source include/master-slave.inc
--source include/have_innodb.inc

--connection slave
SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency;
SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay;
SET GLOBAL innodb_thread_concurrency = 100;

--connection master
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
--sync_slave_with_master

--let $diff_tables=master:t, slave:t
--source include/diff_tables.inc

--echo "===== Clean up======="
--connection master
DROP TABLE t;
--sync_slave_with_master
SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency;
SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay;
--source include/rpl_end.inc