polardbxengine/mysql-test/t/server_offline_debug.test

64 lines
1.8 KiB
Plaintext

--source include/not_threadpool.inc
--source include/have_debug.inc
--echo #
--echo # BUG#28761869 - LOCK_ORDER: DEADLOCK INVOLVING LOCK_OFFLINE_MODE.
--echo #
# Save the global value to be used to restore the original value.
SET @global_saved_tmp = @@global.offline_mode;
connect(con1, localhost, root,,);
SET DEBUG_SYNC='after_lock_offline_mode_acquire SIGNAL lock_offline_mode_acquired WAIT_FOR lock_thd_data_acquired';
--send SET GLOBAL offline_mode=ON;
--connection default
SET DEBUG_SYNC='now WAIT_FOR lock_offline_mode_acquired';
SET DEBUG_SYNC='materialize_session_variable_array_THD_locked SIGNAL lock_thd_data_acquired';
--send SHOW VARIABLES LIKE 'offline_mode';
--connection con1
--echo # reaping execution status for SET GLOBAL offline_mode=ON;
--reap;
--connection default
--reap;
--disconnect con1
SET DEBUG_SYNC='RESET';
--echo # Restoring the original values.
SET @@global.offline_mode = @global_saved_tmp;
--echo #
--echo # Bug #29849046: ASSERT AT SQL_PARSE.CC:6421 IF NON-PRIVILEGED USER
--echo # TRIES ENABLING OFFLINE_MODE
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
# Save the global value to be used to restore the original value.
SET @global_saved_tmp = @@global.offline_mode;
CREATE USER u1@localhost;
GRANT ALL PRIVILEGES ON *.* to u1@localhost;
REVOKE CONNECTION_ADMIN, SUPER ON *.* FROM u1@localhost;
connect(con_u1,localhost,u1,,test);
--echo # in connection con_u1
connection con_u1;
--echo # test: must not assert
set global offline_mode=on;
--echo # Should have killed itself
--error CR_SERVER_GONE_ERROR,CR_SERVER_LOST
SELECT 1 FROM DUAL;
--echo in connection default
connection default;
disconnect con_u1;
SET @@global.offline_mode = @global_saved_tmp;
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
DROP USER u1@localhost;
--echo # End of 8.0 tests