From: Andrei Elkin Date: June 17 2011 6:02pm Subject: bzr commit into mysql-next-mr-wl5569 branch (andrei.elkin:3304) WL#5569 List-Archive: http://lists.mysql.com/commits/139433 Message-Id: <201106171802.p5HI24CK009486@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0060629085==" --===============0060629085== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/andrei/MySQL/BZR/2a-23May/WL/mysql-next-mr-wl5569/ based on revid:andrei.elkin@stripped 3304 Andrei Elkin 2011-06-17 wl#5569 MTS fixing tests and a segfault at the end of handle_slave_sql() happened after worker initialization failed (e.g rpl_row_log on win). @ mysql-test/extra/rpl_tests/rpl_loaddata.test MTS-suppression is added. @ mysql-test/suite/rpl/r/rpl_loaddata.result MTS-suppression is added. @ mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result MTS-suppression is added. @ mysql-test/suite/sys_vars/t/disabled.def constant nuisanse is disabled in the feature tree. Todo: do not merge it when pushing to the main tree. @ sql/rpl_slave.cc Moved workers initialization after one of the coordinator so that failure in the former routine is handled with a proper state of coordinator. This fix eliminates segfault at the end of handle_slave_sql() for few tests but does not address the reason of worker initialization failure, like in rpl_row_log on win: 110616 7:37:57 [Note] Info file G:\pb2\test\sb_1-3486364-1308189142.46\mysql-5.6.3-m5-win-x86_64-test\mysql-test\var-rpl-ps_row\4\mysqld.2\data\relay-log.info.0 cannot be accessed (errno 13). Most likely this is a new slave or you are changing the repository type. 110616 7:37:57 [ERROR] G:/pb2/test/sb_1-3486364-1308189142.46/mysql-5.6.3-m5-win-x86_64-test/sql/Debug/mysqld.exe: File 'G:\pb2\test\sb_1-3486364-1308189142.46\mysql-5.6.3-m5-win-x86_64-test\mysql-test\var-rpl-ps_row\4\mysqld.2\data\relay-log.info.0' not found (Errcode: 13) 110616 7:37:57 [ERROR] Failed to create a new info file (file 'G:\pb2\test\sb_1-3486364-1308189142.46\mysql-5.6.3-m5-win-x86_64-test\mysql-test\var-rpl-ps_row\4\mysqld.2\data\relay-log.info.0', errno 13) 110616 7:37:57 [ERROR] Error reading slave worker configuration 110616 7:37:57 [ERROR] Failed during slave worker thread create 110616 7:37:57 [ERROR] Slave SQL: Failed during slave workers initialization, Error_code: 1593 modified: mysql-test/extra/rpl_tests/rpl_loaddata.test mysql-test/suite/rpl/r/rpl_loaddata.result mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result mysql-test/suite/sys_vars/t/disabled.def sql/rpl_slave.cc === modified file 'mysql-test/extra/rpl_tests/rpl_loaddata.test' --- a/mysql-test/extra/rpl_tests/rpl_loaddata.test 2011-02-23 20:01:27 +0000 +++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test 2011-06-17 18:01:58 +0000 @@ -71,6 +71,7 @@ connection slave; # 1062 = ER_DUP_ENTRY call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062"); call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0"); +call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state"); --let $slave_sql_errno= 1062 --source include/wait_for_slave_sql_error_and_skip.inc === modified file 'mysql-test/suite/rpl/r/rpl_loaddata.result' --- a/mysql-test/suite/rpl/r/rpl_loaddata.result 2011-02-23 20:01:27 +0000 +++ b/mysql-test/suite/rpl/r/rpl_loaddata.result 2011-06-17 18:01:58 +0000 @@ -29,6 +29,7 @@ insert into t1 values(1,10); load data infile '../../std_data/rpl_loaddata.dat' into table t1; call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062"); call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0"); +call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state"); include/wait_for_slave_sql_error_and_skip.inc [errno=1062] include/check_slave_no_error.inc set sql_log_bin=0; === modified file 'mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result' --- a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result 2011-02-23 20:01:27 +0000 +++ b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result 2011-06-17 18:01:58 +0000 @@ -45,6 +45,7 @@ insert into t1 values(1,10); load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1; call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062"); call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0"); +call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state"); include/wait_for_slave_sql_error_and_skip.inc [errno=1062] include/check_slave_no_error.inc set sql_log_bin=0; === modified file 'mysql-test/suite/sys_vars/t/disabled.def' --- a/mysql-test/suite/sys_vars/t/disabled.def 2011-05-23 11:33:41 +0000 +++ b/mysql-test/suite/sys_vars/t/disabled.def 2011-06-17 18:01:58 +0000 @@ -15,3 +15,4 @@ transaction_prealloc_size_basic_32 : Bu transaction_prealloc_size_basic_64 : Bug#11748572 #thread_cache_size_func : Bug#11750172: 2008-11-07 joro main.thread_cache_size_func fails in pushbuild when run with pool of threads +all_vars : bug#12664445 Fri Jun 17 20:40:24 EEST 2011 andrei === modified file 'sql/rpl_slave.cc' --- a/sql/rpl_slave.cc 2011-06-17 10:51:59 +0000 +++ b/sql/rpl_slave.cc 2011-06-17 18:01:58 +0000 @@ -4406,14 +4406,6 @@ pthread_handler_t handle_slave_sql(void pthread_detach_this_thread(); - /* MTS: starting the worker pool */ - if (slave_start_workers(rli, rli->opt_slave_parallel_workers) != 0) - { - mysql_mutex_unlock(&rli->run_lock); - rli->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR, - "Failed during slave workers initialization"); - goto err; - } if (init_slave_thread(thd, SLAVE_THD_SQL)) { /* @@ -4432,6 +4424,16 @@ pthread_handler_t handle_slave_sql(void mysql_mutex_lock(&LOCK_thread_count); threads.append(thd); mysql_mutex_unlock(&LOCK_thread_count); + + /* MTS: starting the worker pool */ + if (slave_start_workers(rli, rli->opt_slave_parallel_workers) != 0) + { + mysql_cond_broadcast(&rli->start_cond); + mysql_mutex_unlock(&rli->run_lock); + rli->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR, + "Failed during slave workers initialization"); + goto err; + } /* We are going to set slave_running to 1. Assuming slave I/O thread is alive and connected, this is going to make Seconds_Behind_Master be 0 --===============0060629085== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/andrei.elkin@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: andrei.elkin@stripped # target_branch: file:///home/andrei/MySQL/BZR/2a-23May/WL/mysql-next-\ # mr-wl5569/ # testament_sha1: 6acb081716a6cab824fd079dd7caec536850be4a # timestamp: 2011-06-17 21:02:04 +0300 # source_branch: file:///home/andrei/MySQL/BZR/2a-23May/mysql-trunk/ # base_revision_id: andrei.elkin@stripped\ # hk6xi35y36toougb # # Begin bundle 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 okupzaS7DBNjA7GmmAJqMB6i7kinChIKp7opgA== --===============0060629085==--