From: Andrei Elkin Date: November 22 2010 7:43pm Subject: bzr push into mysql-next-mr.crash-safe branch (andrei.elkin:3214 to 3215) WL#5569 List-Archive: http://lists.mysql.com/commits/124682 Message-Id: <201011221943.oAMJhVlD023289@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1933794109==" --===============1933794109== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3215 Andrei Elkin 2010-11-22 wl#5569 extinding futher interfaces to wl#5599 with propagating future_event_relay_log_pos to the Worker exec context. @ sql/log_event.cc extract the stored future_event_relay_log_pos to copy to worker rli. @ sql/rpl_slave.cc Store future_event_relay_log_pos into event member. modified: sql/log_event.cc sql/log_event.h sql/rpl_slave.cc 3214 Andrei Elkin 2010-11-20 wl#5569 MTS Worker pool start, stop, kills, error out implementation. @ mysql-test/extra/rpl_tests/rpl_parallel_load.test increasing the load param to get more reliable benchmarking data out of the test. @ mysql-test/suite/rpl/r/rpl_parallel_start_stop.result a new tests results. @ mysql-test/suite/rpl/t/rpl_parallel_start_stop.test worker pool start, stop, kills, errors testing. @ sql/log_event.cc removing a false and unnessary extention-arg to exit_cond(); Refining start-stop alg to base on the Worker private info, not the common info. In particular handshakes organized through magic value of length of the Worker private queue to is set by an initiator. @ sql/rpl_slave.cc Starting a worker thread with passing its Slave_worker * pointer. Simplifying and refining start-stop. @ sql/sql_class.h removing a false and unnessary extention-arg to exit_cond(); @ sql/sys_vars.cc Reckoning a magic value outside of the valid range for pending_jobs. added: mysql-test/suite/rpl/r/rpl_parallel_start_stop.result mysql-test/suite/rpl/t/rpl_parallel_start_stop.test modified: mysql-test/extra/rpl_tests/rpl_parallel_load.test sql/log_event.cc sql/rpl_rli.h sql/rpl_rli_pdb.h sql/rpl_slave.cc sql/sql_class.h sql/sys_vars.cc === modified file 'sql/log_event.cc' --- a/sql/log_event.cc 2010-11-20 17:23:42 +0000 +++ b/sql/log_event.cc 2010-11-22 18:57:13 +0000 @@ -2497,6 +2497,7 @@ int slave_worker_exec_job(Slave_worker * w->slave_worker_ends_group(ev->mts_group_cnt); } + w->w_rli->set_future_event_relay_log_pos(ev->future_event_relay_log_pos); error= ev->do_apply_event(rli); mysql_mutex_lock(&w->jobs_lock); === modified file 'sql/log_event.h' --- a/sql/log_event.h 2010-11-19 14:51:58 +0000 +++ b/sql/log_event.h 2010-11-22 18:57:13 +0000 @@ -999,6 +999,9 @@ public: */ ulong mts_group_cnt; + /* a copy of the main rli value stored into event to pass to MTS worker rli */ + ulonglong future_event_relay_log_pos; + #ifdef MYSQL_SERVER THD* thd; === modified file 'sql/rpl_slave.cc' --- a/sql/rpl_slave.cc 2010-11-20 17:23:42 +0000 +++ b/sql/rpl_slave.cc 2010-11-22 18:57:13 +0000 @@ -5106,7 +5106,8 @@ static Log_event* next_event(Relay_log_i read it while we have a lock, to avoid a mutex lock in inc_event_relay_log_pos() */ - rli->set_future_event_relay_log_pos(my_b_tell(cur_log)); // TODO_MTS: ev->f_rlp + rli->set_future_event_relay_log_pos(my_b_tell(cur_log)); + ev->future_event_relay_log_pos= rli->get_future_event_relay_log_pos(); if (hot_log) mysql_mutex_unlock(log_lock); DBUG_RETURN(ev); --===============1933794109== 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: 76deaf5e6d3359ef48021e0b8ae5d46aa8bdbbe4 # timestamp: 2010-11-22 21:43:31 +0200 # base_revision_id: andrei.elkin@stripped\ # 99nahb2qf8fir7ma # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWcL5LgAAvtfgFAQWHP//3IC DIC////wYAYuL5p9fQKHoDvZopkwSVNU/KR7UynpHonjQoAPU3qJgmmQ0GAAAAAAAAAAAZQTRpPK bUBkAAAAAADEjSJonqbJpkIZDJkAZGTIARUjIo02mjKDxIB6gGQGgACSQmgAAgnohpoanoJ6oDEx KTBxXVS62Vww27Ps+IvuslhPY3mmYMbfU2gAanjHZHvyduNYMCH2wuOE9RSSSR3ueUZkEoBClN1s IKKIk+TLno9Ynk54fvAQ3snsaNVZmkxvZ2Ahz+LTiIMuF6+EqLa1jm3K63NbpxMlQX0mrO9gMUCe IqSwqWRsPDzxPXSSKgAevJE5kX72Iouspghjk+eDleqxF+6xz6aWTAwgaCAZeGQWUxVZepEHixzY rGcznPfge7yADZjxoiGAHoEyHjsBgPsSZzqM+hxDEggBAiiBmDiGoNGgPgMnYJPpYwAB+ZHAfzbI 15u2viAXEtOUsz0SMIplt4TWtFSiLLZUVBj+K57ZNTO1D3dqhHB9vYBp2Pa1ePcXLeUx3QAkaRLC bSXRTSX5wCtO6E+bCsSmQlkiNCYY1MVqw1tfdVtNHCsGKz8q6qVXD16liL1PXYJwQ2JoAUpDmid7 VJIra0xOEoSXCEpeH1IH2ZzQaRwRxETItHhscOkH20EWERHRNSoHzRDuIT7zQdeflWiLyyBKbVnQ 2RfvX8Fh/WjMJ3QqMTARlQeQEgG3ZiWnwpD1WEs1k29tFGHN4+oNKdjZTIuGHkVWXG8ZcVdkTuAq YlnEa3xR3q4oHsVl21MSMQ8OWBj5+j0dxd3rYeSKVdHJ0sCG42xfdJJs0nEQN/Gc2NdHGvQRjMjE RfPYzXs8Ci1oAWWvAWLbhG2bIRBzEtlEBRRGC+SYskeShTELS0PUiNayoJByIDos4JXyEwppmbn7 rZ2B+uKoOqyc9OFh8LroKVAZylIzMMzfZ1Z+JPw/16ARQXJihycg5SIJEEEGHbzeLidKczhECqQ1 MlqciH75jn/OIgmHk+8IjVS4KYWaJJ117QWUdwuBxBk779axExISWwEsPYykhsqLUXMMZae5FcsQ 66BFRiZ8sx4GYj4N0FX7INHYlLCZ2Os0hWfUCsvHExtifLGdR4+T2ZAepOgK+irJzmS/3uEZLBZ+ uqntXE3ZkCCxRWU8qUQuilEzsNi9BlqrY8woSCejtZ5WqpxrGHRDAjxfVrsL90B7Yyjceq8l1L2O 92CC1E4tmNR+46s01nJz+MrdFKIO7bL4M33dIgoQF+MpBgGTAmRPaxpt0mOXfh31BskPM5/96HVA XidsrA9eVXnwAyOZqM8Y7lAeI4GY44+iJi7qcw3BvWt0WMDeetOptdTcSKMXITThg9M0KG/QwQN3 KIRAd6jrOwwOvOth6ICDaQBQRE4VWVmNNwOholA5AOIDsCv5X00QNL0DIE42fS5kkPsllfFenHCX EVKMRWecFlauBBaGxyzURBkLxVA/kLaHgJGoZRfbmIpOhbiFaBADI4iZhs2bQhv68PniuznD0HxJ Ydyyq9F0EGTao8MFfKn6LQ19VWqHKWITqlYB4woUyGQDfVFSngl+nICSaAOJ0/JdlUrkkSysOTMh laHmA16jXkIPE0EEwtyJPQwP1AyIf2JleeLBDBz12qYPkJZK+ZgjMRB/krS4p4oOMqnnnKD0Xssy oMF7ovFSrFvODD2Dei6xAaMK2kdBAx7CDFBQgw88gqxFSnMS25oFzWaZVDu10Tg2JkBvCE8TGnaE Bqvm0FGYjE0Sp7jlNJpVDMk0xpYY6TbhLRBsCwGVm5jiyGZYH1Uk6gCkFL8DsZpCkWGdA9W5/0oX 9+BXCYpG1YuF+mIKLTMjAssQe6ZfRdhF+HjZXtzQbJCbbEaiDTak06hW3OLOPCJTy1M10IwJfbqa mdTgxIFrjoQiTTXhoaZP+LuSKcKEgzhfJcA= --===============1933794109==--