53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
# ==== Purpose ====
|
|
#
|
|
# Test verifies that server shutdown doesn't hang when
|
|
#
|
|
# * Gtid's are enabled.
|
|
# * AUTOCOMMIT=0
|
|
# * super_read_only=ON
|
|
#
|
|
# ==== Implementation ====
|
|
#
|
|
# Do some operations on master like CREATE/INSERT so that GTIDs are generated.
|
|
# Shutdown and restart the server.
|
|
# Shutdown should not hang.
|
|
# Upon restart verify the content of 'gtid_executed' table.
|
|
#
|
|
# ==== References ====
|
|
#
|
|
# Bug#28183718: CANNOT SHUTDOWN MYSQLD WHEN LAST BINLOG HAS
|
|
# GTIDS TO SAVE AND AUTOCOMMIT=0
|
|
#
|
|
|
|
--source include/have_debug.inc
|
|
|
|
# For reseting mysql.gtid_executed table
|
|
RESET MASTER;
|
|
|
|
CREATE TABLE t (f INT PRIMARY KEY) ENGINE=INNODB;
|
|
|
|
INSERT INTO t VALUES (10);
|
|
|
|
SET GLOBAL autocommit= 0;
|
|
SET GLOBAL super_read_only= ON;
|
|
|
|
--source include/restart_mysqld.inc
|
|
|
|
--let $master_uuid= `SELECT @@GLOBAL.SERVER_UUID`
|
|
|
|
--echo #
|
|
--echo # Verify that we can get correct gtid sets after server restarts
|
|
--echo #
|
|
--let $assert_text= committed gtid set is MASTER_UUID:1-2
|
|
--let $assert_cond= @@GLOBAL.GTID_EXECUTED = "$master_uuid:1-2"
|
|
--source include/assert.inc
|
|
|
|
FLUSH LOGS;
|
|
--replace_result $master_uuid MASTER_UUID
|
|
SELECT * FROM mysql.gtid_executed;
|
|
|
|
DROP TABLE t;
|
|
|
|
# Cleanup
|
|
RESET MASTER;
|