diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:04:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:04:16 +0000 |
commit | a68fb2d8219f6bccc573009600e9f23e89226a5e (patch) | |
tree | d742d35d14ae816e99293d2b01face30e9f3a46b /mysql-test/main/flush_read_lock_kill.result | |
parent | Initial commit. (diff) | |
download | mariadb-10.6-a68fb2d8219f6bccc573009600e9f23e89226a5e.tar.xz mariadb-10.6-a68fb2d8219f6bccc573009600e9f23e89226a5e.zip |
Adding upstream version 1:10.6.11.upstream/1%10.6.11upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/main/flush_read_lock_kill.result')
-rw-r--r-- | mysql-test/main/flush_read_lock_kill.result | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mysql-test/main/flush_read_lock_kill.result b/mysql-test/main/flush_read_lock_kill.result new file mode 100644 index 00000000..05836b04 --- /dev/null +++ b/mysql-test/main/flush_read_lock_kill.result @@ -0,0 +1,42 @@ +connect con1,localhost,root,,; +connect con2,localhost,root,,; +connection con1; +DROP TABLE IF EXISTS t1; +SET DEBUG_SYNC= 'RESET'; +CREATE TABLE t1 (kill_id INT) engine = InnoDB; +INSERT INTO t1 VALUES(connection_id()); +connection default; +# Start transaction. +BEGIN; +INSERT INTO t1 VALUES(connection_id()); +# Ensure that COMMIT will pause once it acquires protection +# against its global read lock. +SET DEBUG_SYNC='ha_commit_trans_after_acquire_commit_lock SIGNAL acquired WAIT_FOR go'; +# Sending: +COMMIT; +connection con1; +# Wait till COMMIT acquires protection against global read +# lock and pauses. +SET DEBUG_SYNC='now WAIT_FOR acquired'; +# Sending: +FLUSH TABLES WITH READ LOCK; +connection con2; +SELECT ((@id := kill_id) - kill_id) FROM t1 LIMIT 1; +((@id := kill_id) - kill_id) +0 +# Wait till FLUSH TABLES WITH READ LOCK blocks due +# to active COMMIT +# Kill connection 'con1'. +KILL CONNECTION @id; +connection con1; +# Try to reap FLUSH TABLES WITH READ LOCK, +# it fail due to killed statement and connection. +Got one of the listed errors +connection con2; +# Resume COMMIT. +SET DEBUG_SYNC='now SIGNAL go'; +connection default; +# Reaping COMMIT. +disconnect con2; +DROP TABLE t1; +SET DEBUG_SYNC= 'RESET'; |