summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/rpl/r/rpl_deadlock_innodb.result')
-rw-r--r--mysql-test/suite/rpl/r/rpl_deadlock_innodb.result131
1 files changed, 131 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
new file mode 100644
index 00000000..16b00cee
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
@@ -0,0 +1,131 @@
+include/master-slave.inc
+[connection master]
+*** Prepare tables and data ***
+connection master;
+CREATE TABLE t1 (a INT NOT NULL, KEY(a)) ENGINE=innodb;
+CREATE TABLE t2 (a INT) ENGINE=innodb;
+CREATE TABLE t3 (a INT NOT NULL, KEY(a)) ENGINE=innodb;
+connection slave;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+SHOW VARIABLES LIKE 'slave_transaction_retries';
+Variable_name Value
+slave_transaction_retries 2
+include/stop_slave.inc
+connection master;
+BEGIN;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2), (2), (2), (2), (2), (2), (2), (2), (2), (2);
+INSERT INTO t3 VALUES (3);
+COMMIT;
+
+*** Test deadlock ***
+connection slave;
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+a
+connection slave1;
+START SLAVE;
+connection slave;
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+0
+COMMIT;
+
+# Test that the performance schema coulumn shows > 0 values.
+
+include/assert.inc [current number of retries should be more than the value saved before deadlock.]
+include/check_slave_is_running.inc
+SELECT * FROM t1;
+a
+1
+SELECT * FROM t3;
+a
+3
+include/check_slave_is_running.inc
+
+*** Test lock wait timeout ***
+connection slave;
+include/stop_slave.inc
+DELETE FROM t2;
+CHANGE MASTER TO MASTER_LOG_POS=<master_pos_begin>, MASTER_USE_GTID=NO;
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+a
+1
+connection slave1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1205]
+connection slave;
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+0
+COMMIT;
+include/start_slave.inc
+SELECT * FROM t1;
+a
+1
+1
+SELECT * FROM t3;
+a
+3
+3
+include/check_slave_is_running.inc
+
+*** Test lock wait timeout and purged relay logs ***
+connection slave;
+SET @my_max_relay_log_size= @@global.max_relay_log_size;
+SET global max_relay_log_size=0;
+Warnings:
+Warning 1292 Truncated incorrect max_relay_log_size value: '0'
+include/stop_slave.inc
+DELETE FROM t2;
+CHANGE MASTER TO MASTER_LOG_POS=<master_pos_begin>, MASTER_USE_GTID=NO;
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+a
+1
+1
+connection slave1;
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1205]
+connection slave;
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+0
+COMMIT;
+include/start_slave.inc
+SELECT * FROM t1;
+a
+1
+1
+1
+SELECT * FROM t3;
+a
+3
+3
+3
+include/check_slave_is_running.inc
+
+*** Clean up ***
+connection master;
+DROP TABLE t1,t2,t3;
+connection slave;
+SET global max_relay_log_size= @my_max_relay_log_size;
+End of 5.1 tests
+include/rpl_end.inc