Galera MTR Test: Test for MW-28 : Assertion with --wsrep-log-conflicts

This commit is contained in:
Philip Stoev 2016-11-23 02:55:36 -08:00 committed by Sachin Setiya
parent cdd1dc829b
commit 298daccb10
3 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,18 @@
CREATE TABLE t1 (
f1 VARCHAR(255) PRIMARY KEY
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO t1 VALUES ('abc');
SELECT f1 = 'abc' FROM t1;
f1 = 'abc'
1
SET AUTOCOMMIT=OFF;
START TRANSACTION;
UPDATE t1 SET f1 = 'klm';
SET AUTOCOMMIT=OFF;
START TRANSACTION;
UPDATE t1 SET f1 = 'xyz';
COMMIT;
COMMIT;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
include/assert_grep.inc [cluster conflict due to high priority abort for threads]
DROP TABLE t1;

View file

@ -0,0 +1 @@
--wsrep_log_conflicts=ON

View file

@ -0,0 +1,55 @@
#
# Test --wsrep_log_conflicts=ON
#
--source include/galera_cluster.inc
--source include/have_innodb.inc
CREATE TABLE t1 (
f1 VARCHAR(255) PRIMARY KEY
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO t1 VALUES ('abc');
--connection node_2
SELECT f1 = 'abc' FROM t1;
#
# Provoke a conflict
#
--connection node_1
SET AUTOCOMMIT=OFF;
START TRANSACTION;
UPDATE t1 SET f1 = 'klm';
--connection node_2
SET AUTOCOMMIT=OFF;
START TRANSACTION;
UPDATE t1 SET f1 = 'xyz';
--connection node_1
COMMIT;
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connection node_2a
--let $wait_condition = SELECT f1 = 'klm' FROM t1;
--source include/wait_condition.inc
--connection node_2
--error ER_LOCK_DEADLOCK
COMMIT;
#
# We can not really check the log output very much because it is quite variable
#
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
--let $assert_only_after = CURRENT_TEST
--let $assert_text = cluster conflict due to high priority abort for threads
--let $assert_select = cluster conflict due to high priority abort for threads
--let $assert_match = cluster conflict due to high priority abort for threads
--source include/assert_grep.inc
DROP TABLE t1;