64 lines
1.8 KiB
Plaintext
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
|