polardbxengine/mysql-test/suite/xengine_binlog_gtid/t/binlog_shutdown_hang.test

50 lines
1.1 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
#
# For reseting mysql.gtid_executed table
RESET MASTER;
CREATE TABLE t (f INT PRIMARY KEY);
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
--replace_result $master_uuid MASTER_UUID
SELECT * FROM mysql.gtid_executed;
DROP TABLE t;
# Cleanup
RESET MASTER;