45 lines
2.0 KiB
Plaintext
45 lines
2.0 KiB
Plaintext
--echo #
|
|
--echo # Validate that deadlock errors don't occur with a high level of concurrency
|
|
--echo #
|
|
|
|
--source suite/xengine/include/have_xengine.inc
|
|
|
|
--echo # Disable for valgrind because this takes too long
|
|
--source include/not_valgrind.inc
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mysqlslap;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mysqlslap;
|
|
USE mysqlslap;
|
|
CREATE TABLE t1(id1 BIGINT, id2 BIGINT, count INT, PRIMARY KEY(id1, id2), KEY(id2)) ENGINE=xengine;
|
|
CREATE TABLE t1rev(id1 BIGINT, id2 BIGINT, count INT, PRIMARY KEY(id1, id2) COMMENT "rev:cf2", KEY(id2) COMMENT "rev:cf2") ENGINE=xengine;
|
|
|
|
SET @save = @@global.xengine_lock_wait_timeout;
|
|
SET GLOBAL xengine_lock_wait_timeout = 60;
|
|
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="INSERT INTO t1 VALUES(1, 1, 1) ON DUPLICATE KEY UPDATE count=count+1"
|
|
SELECT count from t1;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1 SET count=count+1 WHERE id1=1 AND id2=1"
|
|
SELECT count from t1;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1 SET count=count+1 WHERE id2=1"
|
|
SELECT count from t1;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1 SET count=count+1"
|
|
SELECT count from t1;
|
|
|
|
# Same tests on a table with reverse orderings
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="INSERT INTO t1rev VALUES(1, 1, 1) ON DUPLICATE KEY UPDATE count=count+1"
|
|
SELECT count from t1rev;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1rev SET count=count+1 WHERE id1=1 AND id2=1"
|
|
SELECT count from t1rev;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1rev SET count=count+1 WHERE id2=1"
|
|
SELECT count from t1rev;
|
|
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=5000 --query="UPDATE t1rev SET count=count+1"
|
|
SELECT count from t1rev;
|
|
|
|
SET GLOBAL xengine_lock_wait_timeout = @save;
|
|
|
|
DROP DATABASE mysqlslap;
|
|
--source suite/xengine/include/check_xengine_log_error.inc
|