Server IP : 172.67.216.182 / Your IP : 162.158.107.66 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 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 : ON Directory : /www/server/mysql/src/mysql-test/suite/innodb/t/ |
Upload File : |
# # Bug #59733 Possible deadlock when buffered changes are to be discarded # in buf_page_create # -- source include/have_innodb.inc -- disable_query_log # The flag innodb_change_buffering_debug is only available in debug builds. # It instructs InnoDB to try to evict pages from the buffer pool when # change buffering is possible, so that the change buffer will be used # whenever possible. -- error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET @innodb_change_buffering_debug_orig = @@innodb_change_buffering_debug; -- error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL innodb_change_buffering_debug = 1; -- enable_query_log CREATE TABLE bug59733(a INT AUTO_INCREMENT PRIMARY KEY,b CHAR(1)) ENGINE=InnoDB STATS_PERSISTENT=1 STATS_AUTO_RECALC=0; # Create enough rows for the table, so that the insert buffer will be # used. There must be multiple index pages, because changes to the # root page are never buffered. INSERT INTO bug59733 VALUES(0,'x'); INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; INSERT INTO bug59733 SELECT 0,b FROM bug59733; # Create the secondary index for which changes will be buffered. CREATE INDEX b ON bug59733 (b); # This should be buffered, if innodb_change_buffering_debug = 1 is in effect. DELETE FROM bug59733 WHERE (a%100)=0; # Drop the index in order to get free pages with orphaned buffered changes. DROP INDEX b ON bug59733; # Create the index and attempt to reuse pages for which buffered changes exist. CREATE INDEX b ON bug59733 (b); DROP TABLE bug59733; -- disable_query_log -- error 0, ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL innodb_change_buffering_debug = @innodb_change_buffering_debug_orig;