From ad0f85bcd22d28bcf95efd6eed09abbc37f6e2f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Tue, 19 May 2020 10:10:30 +0300 Subject: MDEV-18838 : galera.galera_toi_truncate: Test failure: mysqltest: query 'reap' succeeded - should have failed with errno 1213 Test cleanup. --- .../suite/galera/r/galera_toi_truncate.result | 20 ++++++++--------- mysql-test/suite/galera/t/galera_toi_truncate.test | 26 ++++++++-------------- 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/mysql-test/suite/galera/r/galera_toi_truncate.result b/mysql-test/suite/galera/r/galera_toi_truncate.result index 73285d723c1..f299eacda00 100644 --- a/mysql-test/suite/galera/r/galera_toi_truncate.result +++ b/mysql-test/suite/galera/r/galera_toi_truncate.result @@ -1,24 +1,22 @@ connection node_1; -CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB; +CREATE TABLE ten (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; connection node_2; SET SESSION wsrep_retry_autocommit = 0; -INSERT INTO t1(f1) SELECT 1 FROM ten as a1, ten AS a2; -set debug_sync='ha_commit_trans_after_prepare WAIT_FOR go'; -INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6;; +INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6, ten AS a7, ten AS a8; connection node_1; TRUNCATE TABLE t1;; -connection node_1; connection node_2; ERROR 40001: Deadlock: wsrep aborted transaction +connection node_1; connection node_2; -SELECT COUNT(*) = 0 FROM t1; -COUNT(*) = 0 -1 +SELECT COUNT(*) AS EXPECT_0 FROM t1; +EXPECT_0 +0 connection node_1; -SELECT COUNT(*) = 0 FROM t1; -COUNT(*) = 0 -1 +SELECT COUNT(*) AS EXPECT_0 FROM t1; +EXPECT_0 +0 DROP TABLE t1; DROP TABLE ten; diff --git a/mysql-test/suite/galera/t/galera_toi_truncate.test b/mysql-test/suite/galera/t/galera_toi_truncate.test index 0c1d0e45e41..30e0e802816 100644 --- a/mysql-test/suite/galera/t/galera_toi_truncate.test +++ b/mysql-test/suite/galera/t/galera_toi_truncate.test @@ -4,50 +4,42 @@ # --source include/galera_cluster.inc ---source include/have_innodb.inc --source include/have_debug_sync.inc ---source include/not_embedded.inc +--source include/have_debug.inc # # INSERT and TRUNCATE on different nodes # --connection node_1 -CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB; +CREATE TABLE ten (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; -# Insert 1m rows --connection node_2 --let $wait_condition = SELECT COUNT(*) = 10 FROM ten; --source include/wait_condition.inc # Prevent autocommit retring from masking the deadlock error we expect to get SET SESSION wsrep_retry_autocommit = 0; -INSERT INTO t1(f1) SELECT 1 FROM ten as a1, ten AS a2; - -set debug_sync='ha_commit_trans_after_prepare WAIT_FOR go'; ---send INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6; +--send INSERT INTO t1 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5, ten AS a6, ten AS a7, ten AS a8 --connection node_1 -# Wait for a above insert to start ---let $wait_condition = SELECT COUNT(*) >= 100 from t1; ---source include/wait_condition.inc - --send TRUNCATE TABLE t1; ---connection node_1 ---reap - --connection node_2 --error ER_LOCK_DEADLOCK --reap +--connection node_1 +--reap + --connection node_2 -SELECT COUNT(*) = 0 FROM t1; +SELECT COUNT(*) AS EXPECT_0 FROM t1; --connection node_1 -SELECT COUNT(*) = 0 FROM t1; +SELECT COUNT(*) AS EXPECT_0 FROM t1; + DROP TABLE t1; DROP TABLE ten; -- cgit v1.2.1