Commit 298daccb authored by Philip Stoev's avatar Philip Stoev Committed by Sachin Setiya

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

parent cdd1dc82
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;
#
# 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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment