Server IP : 104.21.38.3 / Your IP : 172.68.164.25 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/rpl/t/ |
Upload File : |
# # WL#5569 MTS # # The test verifies correctness of MTS execution when system meets # various limits due to few configuration options: # # A. @@global.slave_pending_jobs_size_max # B. @@global.slave_parallel_workers # --source include/not_group_replication_plugin.inc # no support for Query-log-event in this test --source include/have_binlog_format_row.inc --source include/master-slave.inc connection slave; create view coord_wait_list as SELECT id from Information_Schema.processlist where state like 'Waiting for Slave Worker%'; # restart in Parallel let $workers= 4; source include/stop_slave.inc; set @save.slave_parallel_workers= @@global.slave_parallel_workers; eval set @@global.slave_parallel_workers= $workers; # # A. Prescribed number of Worker threads is honored # connection slave; create view worker_wait_list as SELECT id from Information_Schema.processlist where state like 'Waiting for an event from Coordinator'; source include/stop_slave.inc; # relates to B preparation let $mts_max_q_size=1024; set @save_slave_pending_jobs_size_max = @@global.slave_pending_jobs_size_max; eval set @@global.slave_pending_jobs_size_max= $mts_max_q_size; source include/start_slave.inc; let $count= $workers; let $table= worker_wait_list; source include/wait_until_rows_count.inc; --echo Configured number of Workers is started. # # B. Max size of Worker queues # connection master; create database d0; create table d0.t0 (a int auto_increment primary key, b text null) engine=innodb; --source include/sync_slave_sql_with_master.inc begin; insert into d0.t0 set a= 1; # master trans structure aims at testing C's wait loop let $i_loop= 10; connection master; begin; --disable_query_log eval insert into d0.t0 set a= 1, b= REPEAT('b', 1); while ($i_loop) { eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 1); eval insert into d0.t0 set b= REPEAT('b', 2* $mts_max_q_size/3); dec $i_loop; } --enable_query_log commit; let $d0_t0_count=`select count(*) from d0.t0`; connection slave; --echo *** Coordinator must be waiting for Workers have released pending events mem *** let $count= 1; let $table= coord_wait_list; source include/wait_until_rows_count.inc; rollback; let $count= $d0_t0_count; let $table= d0.t0; source include/wait_until_rows_count.inc; # cleanup of the max size set @@global.slave_pending_jobs_size_max= @save_slave_pending_jobs_size_max; # # cleanup # connection master; drop database d0; --source include/sync_slave_sql_with_master.inc #connection slave; drop view coord_wait_list; drop view worker_wait_list; set @@global.slave_parallel_workers= @save.slave_parallel_workers; --source include/rpl_end.inc