407 lines
17 KiB
Plaintext
407 lines
17 KiB
Plaintext
INSTALL PLUGIN clone SONAME 'CLONE_PLUGIN';
|
|
CREATE TABLE t1(col1 INT PRIMARY KEY, col2 int, col3 varchar(64), col4 BLOB);
|
|
CREATE TABLE t2(col1 INT PRIMARY KEY, col2 int, col3 varchar(64), col4 BLOB)
|
|
PARTITION BY KEY(col1) PARTITIONS 5;
|
|
CREATE PROCEDURE execute_dml(
|
|
p_dml_type INT,
|
|
p_key_min INT,
|
|
p_key_range INT,
|
|
p_loop_count INT,
|
|
p_frequency INT,
|
|
p_is_rand INT)
|
|
BEGIN
|
|
DECLARE v_idx INT DEFAULT 0;
|
|
DECLARE v_commit INT DEFAULT 0;
|
|
DECLARE v_key INT DEFAULT 0;
|
|
/* Loop and INSERT data at random position */
|
|
WHILE(v_idx < p_loop_count) DO
|
|
/* Generate key between 1 to p_loop_count */
|
|
IF p_is_rand = 1 THEN
|
|
SET v_key = p_key_min + FLOOR(RAND() * p_key_range);
|
|
ELSE
|
|
SET v_key = p_key_min + (v_idx % p_key_range);
|
|
END IF;
|
|
CASE p_dml_type
|
|
WHEN 0 THEN
|
|
SET @clol3_text = CONCAT('Clone Test Row - ', v_key);
|
|
INSERT INTO t1 VALUES(v_key, v_key * 10,
|
|
@clol3_text, REPEAT('Large Column Data ', 2048))
|
|
ON DUPLICATE KEY UPDATE col2 = col2 + 1;
|
|
INSERT INTO t2 VALUES(v_key, v_key * 10,
|
|
@clol3_text, REPEAT('Large Column Data ', 2048))
|
|
ON DUPLICATE KEY UPDATE col2 = col2 + 1;
|
|
WHEN 1 THEN
|
|
UPDATE t1 SET col2 = v_idx + 1 WHERE col1 = v_key;
|
|
UPDATE t2 SET col2 = v_idx + 1 WHERE col1 = v_key;
|
|
WHEN 2 THEN
|
|
DELETE FROM t1 WHERE col1 = v_key;
|
|
DELETE FROM t2 WHERE col1 = v_key;
|
|
ELSE
|
|
DELETE FROM t1;
|
|
DELETE FROM t2;
|
|
END CASE;
|
|
SET v_idx = v_idx + 1;
|
|
/* Commit or rollback work at specified frequency. */
|
|
IF v_idx % p_frequency = 0 THEN
|
|
SET v_commit = FLOOR(RAND() * 2);
|
|
IF v_commit = 0 AND p_is_rand = 1 THEN
|
|
ROLLBACK;
|
|
START TRANSACTION;
|
|
ELSE
|
|
COMMIT;
|
|
START TRANSACTION;
|
|
END IF;
|
|
END IF;
|
|
END WHILE;
|
|
END|
|
|
call execute_dml(0, 0, 150, 150, 10, 0);
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`col1` int(11) NOT NULL,
|
|
`col2` int(11) DEFAULT NULL,
|
|
`col3` varchar(64) DEFAULT NULL,
|
|
`col4` blob,
|
|
PRIMARY KEY (`col1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
SELECT count(*) from t1;
|
|
count(*)
|
|
150
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
0 0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 10 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 20 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 30 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 40 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 50 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 60 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 70 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 80 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 90 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
149 1490 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 1480 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 1470 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 1460 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 1450 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 1440 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 1430 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 1420 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 1410 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 1400 Clone Test Row - 140 umn Data Large Column Data Large
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`col1` int(11) NOT NULL,
|
|
`col2` int(11) DEFAULT NULL,
|
|
`col3` varchar(64) DEFAULT NULL,
|
|
`col4` blob,
|
|
PRIMARY KEY (`col1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY (col1)
|
|
PARTITIONS 5 */
|
|
SELECT count(*) from t2;
|
|
count(*)
|
|
150
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
0 0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 10 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 20 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 30 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 40 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 50 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 60 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 70 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 80 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 90 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
149 1490 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 1480 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 1470 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 1460 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 1450 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 1440 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 1430 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 1420 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 1410 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 1400 Clone Test Row - 140 umn Data Large Column Data Large
|
|
# In connection default - Cloning database
|
|
SET global debug="+d,clone_no_zero_copy";
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET DEBUG_SYNC = 'clone_page_copy SIGNAL start_dml2 WAIT_FOR resume_clone2';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 150 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 150, 200, 100, 1);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone1';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml2';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 150, 200, 100, 1);
|
|
COMMIT;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone2';
|
|
# In connection default - Cloning database
|
|
SET global debug="-d,clone_no_zero_copy";
|
|
# Restart cloned database
|
|
# restart: --datadir=CLONE_DATADIR
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`col1` int(11) NOT NULL,
|
|
`col2` int(11) DEFAULT NULL,
|
|
`col3` varchar(64) DEFAULT NULL,
|
|
`col4` blob,
|
|
PRIMARY KEY (`col1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
SELECT count(*) from t1;
|
|
count(*)
|
|
150
|
|
SELECT col1, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 LIMIT 10;
|
|
col1 col3 SUBSTRING(col4, 1000, 32)
|
|
0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col3 SUBSTRING(col4, 1000, 32)
|
|
149 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 Clone Test Row - 140 umn Data Large Column Data Large
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`col1` int(11) NOT NULL,
|
|
`col2` int(11) DEFAULT NULL,
|
|
`col3` varchar(64) DEFAULT NULL,
|
|
`col4` blob,
|
|
PRIMARY KEY (`col1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY (col1)
|
|
PARTITIONS 5 */
|
|
SELECT count(*) from t2;
|
|
count(*)
|
|
150
|
|
SELECT col1, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 LIMIT 10;
|
|
col1 col3 SUBSTRING(col4, 1000, 32)
|
|
0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col3 SUBSTRING(col4, 1000, 32)
|
|
149 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 Clone Test Row - 140 umn Data Large Column Data Large
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 150, 150, 100, 0);
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
0 0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 10 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 20 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 30 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 40 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 50 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 60 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 70 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 80 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 90 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t1 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
149 1490 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 1480 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 1470 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 1460 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 1450 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 1440 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 1430 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 1420 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 1410 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 1400 Clone Test Row - 140 umn Data Large Column Data Large
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
0 0 Clone Test Row - 0 umn Data Large Column Data Large
|
|
1 10 Clone Test Row - 1 umn Data Large Column Data Large
|
|
2 20 Clone Test Row - 2 umn Data Large Column Data Large
|
|
3 30 Clone Test Row - 3 umn Data Large Column Data Large
|
|
4 40 Clone Test Row - 4 umn Data Large Column Data Large
|
|
5 50 Clone Test Row - 5 umn Data Large Column Data Large
|
|
6 60 Clone Test Row - 6 umn Data Large Column Data Large
|
|
7 70 Clone Test Row - 7 umn Data Large Column Data Large
|
|
8 80 Clone Test Row - 8 umn Data Large Column Data Large
|
|
9 90 Clone Test Row - 9 umn Data Large Column Data Large
|
|
SELECT col1, col2, col3, SUBSTRING(col4, 1000, 32) FROM t2 ORDER BY col1 DESC LIMIT 10;
|
|
col1 col2 col3 SUBSTRING(col4, 1000, 32)
|
|
149 1490 Clone Test Row - 149 umn Data Large Column Data Large
|
|
148 1480 Clone Test Row - 148 umn Data Large Column Data Large
|
|
147 1470 Clone Test Row - 147 umn Data Large Column Data Large
|
|
146 1460 Clone Test Row - 146 umn Data Large Column Data Large
|
|
145 1450 Clone Test Row - 145 umn Data Large Column Data Large
|
|
144 1440 Clone Test Row - 144 umn Data Large Column Data Large
|
|
143 1430 Clone Test Row - 143 umn Data Large Column Data Large
|
|
142 1420 Clone Test Row - 142 umn Data Large Column Data Large
|
|
141 1410 Clone Test Row - 141 umn Data Large Column Data Large
|
|
140 1400 Clone Test Row - 140 umn Data Large Column Data Large
|
|
# restart:
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET DEBUG_SYNC = 'clone_page_copy SIGNAL start_dml2 WAIT_FOR resume_clone2';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 10 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 10, 10, 10, 1);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone1';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml2';
|
|
SET global debug="+d,clone_arch_log_stop_file_end";
|
|
START TRANSACTION;
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 150, 150, 10, 0);
|
|
COMMIT;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone2';
|
|
# In connection default - Cloning database
|
|
SET global debug="-d,clone_arch_log_stop_file_end";
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET DEBUG_SYNC = 'clone_page_copy SIGNAL start_dml2 WAIT_FOR resume_clone2';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 10 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 10, 10, 10, 1);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone1';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml2';
|
|
SET global debug="+d,clone_arch_log_stop_file_end";
|
|
SET global debug="+d,clone_arch_log_extra_bytes";
|
|
START TRANSACTION;
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 150, 150, 10, 0);
|
|
COMMIT;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone2';
|
|
# In connection default - Cloning database
|
|
SET global debug="-d,clone_arch_log_stop_file_end";
|
|
SET global debug="-d,clone_arch_log_extra_bytes";
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 10 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 10, 10, 10, 1);
|
|
COMMIT;
|
|
# In connection default - Cloning database
|
|
Got one of the listed errors
|
|
# restart:
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET DEBUG_SYNC = 'clone_page_copy SIGNAL start_dml2 WAIT_FOR resume_clone2';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 10 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 10, 10, 10, 1);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone1';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml2';
|
|
START TRANSACTION;
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 50, 50, 10, 0);
|
|
COMMIT;
|
|
# In connection default - Cloning database
|
|
Got one of the listed errors
|
|
# restart:
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'clone_file_copy SIGNAL start_dml1 WAIT_FOR resume_clone1';
|
|
SET DEBUG_SYNC = 'clone_page_copy SIGNAL start_dml2 WAIT_FOR resume_clone2';
|
|
SET DEBUG_SYNC = 'clone_redo_copy SIGNAL start_dml3 WAIT_FOR resume_clone3';
|
|
SET GLOBAL clone_autotune_concurrency = OFF;
|
|
SET GLOBAL clone_max_concurrency = 8;
|
|
SET GLOBAL clone_valid_donor_list = 'HOST:PORT';
|
|
CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY '' DATA DIRECTORY = 'CLONE_DATADIR';
|
|
# In connection con1 - Running Update Random [0 - 10 Key Range]
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml1';
|
|
START TRANSACTION;
|
|
CALL execute_dml(1, 0, 10, 10, 10, 1);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone1';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml2';
|
|
START TRANSACTION;
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 50, 50, 10, 0);
|
|
COMMIT;
|
|
# Flush all dirty buffers
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
SET DEBUG_SYNC = 'now SIGNAL resume_clone2';
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_dml3';
|
|
START TRANSACTION;
|
|
call execute_dml(3, 0, 1, 1, 1, 0);
|
|
call execute_dml(0, 0, 50, 50, 10, 0);
|
|
COMMIT;
|
|
# In connection default - Cloning database
|
|
Got one of the listed errors
|
|
# restart:
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
DROP PROCEDURE execute_dml;
|
|
UNINSTALL PLUGIN clone;
|
|
SET DEBUG_SYNC = 'RESET';
|