From e26c822aa0a73e62d7a3e4a0915c7bf6cd734978 Mon Sep 17 00:00:00 2001 From: Monty Date: Tue, 21 Jul 2020 15:12:53 +0300 Subject: MDEV-16929 Assertion ... in close_thread_tables upon killing connection Problem was that the code didn't handle a transaction created in innodb as part of a failed mysql_lock_tables() --- mysql-test/suite/sql_sequence/kill.result | 12 ++++++++++++ mysql-test/suite/sql_sequence/kill.test | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 mysql-test/suite/sql_sequence/kill.result create mode 100644 mysql-test/suite/sql_sequence/kill.test (limited to 'mysql-test/suite/sql_sequence') diff --git a/mysql-test/suite/sql_sequence/kill.result b/mysql-test/suite/sql_sequence/kill.result new file mode 100644 index 00000000000..6d966254de3 --- /dev/null +++ b/mysql-test/suite/sql_sequence/kill.result @@ -0,0 +1,12 @@ +# +# MDEV-16929 Assertion ... in close_thread_tables upon killing connection +# running SHOW on sequence +# +CREATE SEQUENCE s ENGINE=InnoDB; +RENAME TABLE s TO s1; +connect con1,localhost,root,,test; +SHOW CREATE SEQUENCE s1; +connection default; +KILL thread_id; +connection default; +drop sequence s1; diff --git a/mysql-test/suite/sql_sequence/kill.test b/mysql-test/suite/sql_sequence/kill.test new file mode 100644 index 00000000000..9caebc57f12 --- /dev/null +++ b/mysql-test/suite/sql_sequence/kill.test @@ -0,0 +1,20 @@ +--source include/have_innodb.inc + +--echo # +--echo # MDEV-16929 Assertion ... in close_thread_tables upon killing connection +--echo # running SHOW on sequence +--echo # + +CREATE SEQUENCE s ENGINE=InnoDB; +RENAME TABLE s TO s1; +--connect (con1,localhost,root,,test) +--let $conid= `SELECT CONNECTION_ID()` +--send + SHOW CREATE SEQUENCE s1; +--connection default +--replace_result $conid thread_id +--eval KILL $conid + +# Cleanup +--connection default +drop sequence s1; -- cgit v1.2.1