From: Andrei Elkin Date: December 20 2010 7:37pm Subject: bzr commit into mysql-next-mr-wl5569 branch (andrei.elkin:3252) WL#5569 List-Archive: http://lists.mysql.com/commits/127337 Message-Id: <201012201937.oBKJbtDP021240@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0917748009==" --===============0917748009== 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 3252 Andrei Elkin 2010-12-20 wl#5569 MTS adding checkpoint relay_log_name,pos as necessary part to locate a relay-log for recovery. Tested with rpl_parallel. @ mysql-test/extra/rpl_tests/rpl_parallel_load.test restoring $iter to 1k as it was used to be. @ sql/log_event.cc adding checkpoint relay_log_name,pos @ sql/rpl_rli_pdb.cc adding checkpoint relay_log_name,pos @ sql/rpl_rli_pdb.h adding checkpoint relay_log_name,pos modified: mysql-test/extra/rpl_tests/rpl_parallel_load.test sql/log_event.cc sql/rpl_rli_pdb.cc sql/rpl_rli_pdb.h === modified file 'mysql-test/extra/rpl_tests/rpl_parallel_load.test' --- a/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2010-12-20 15:58:58 +0000 +++ b/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2010-12-20 19:37:48 +0000 @@ -6,7 +6,7 @@ # load volume parameter # -let $iter = 500; +let $iter = 1000; # windows run on PB2 is too slow to time out disable_query_log; === modified file 'sql/log_event.cc' --- a/sql/log_event.cc 2010-12-20 15:58:58 +0000 +++ b/sql/log_event.cc 2010-12-20 19:37:48 +0000 @@ -2428,6 +2428,8 @@ Slave_worker *Log_event::get_slave_worke g.total_seqno= const_cast(rli)->mts_total_groups; g.checkpoint_log_name= NULL; g.checkpoint_log_pos= 0; + g.checkpoint_relay_log_name= NULL; + g.checkpoint_relay_log_pos= 0; g.checkpoint_seqno= (uint) -1; g.done= 0; @@ -2534,13 +2536,21 @@ Slave_worker *Log_event::get_slave_worke if (!worker->checkpoint_notified) { - // Worker dealloc + // Worker to dealloc + // master binlog checkpoint ptr_g->checkpoint_log_name= (char *) my_malloc(strlen(const_cast(rli)-> get_group_master_log_name()) + 1, MYF(MY_WME)); strcpy(ptr_g->checkpoint_log_name, const_cast(rli)->get_group_master_log_name()); ptr_g->checkpoint_log_pos= const_cast(rli)->get_group_master_log_pos(); + // relay log checkpoint + ptr_g->checkpoint_relay_log_name= (char *) + my_malloc(strlen(const_cast(rli)-> + get_group_relay_log_name()) + 1, MYF(MY_WME)); + strcpy(ptr_g->checkpoint_relay_log_name, + const_cast(rli)->get_group_relay_log_name()); + ptr_g->checkpoint_relay_log_pos= const_cast(rli)->get_group_relay_log_pos(); worker->checkpoint_notified= TRUE; } ptr_g->checkpoint_seqno= rli->checkpoint_seqno; === modified file 'sql/rpl_rli_pdb.cc' --- a/sql/rpl_rli_pdb.cc 2010-12-20 15:58:58 +0000 +++ b/sql/rpl_rli_pdb.cc 2010-12-20 19:37:48 +0000 @@ -23,11 +23,12 @@ Slave_worker::Slave_worker(const char* t Relay_log_info *rli) : Rpl_info_worker(type, pfs), c_rli(rli), curr_group_exec_parts(0), group_relay_log_pos(0), group_master_log_pos(0), - checkpoint_log_pos(0), inited_group_execed(0) + checkpoint_log_pos(0), checkpoint_relay_log_pos(0), inited_group_execed(0) { group_relay_log_name[0]= 0; group_master_log_name[0]= 0; checkpoint_log_name[0]= 0; + checkpoint_relay_log_name[0]= 0; } Slave_worker::~Slave_worker() @@ -187,9 +188,14 @@ bool Slave_worker::commit_positions(Log_ strmake(checkpoint_log_name, ptr_g->checkpoint_log_name, sizeof(checkpoint_log_name) - 1); checkpoint_log_pos= ptr_g->checkpoint_log_pos; + strmake(checkpoint_relay_log_name, ptr_g->checkpoint_relay_log_name, + sizeof(checkpoint_relay_log_name) - 1); + checkpoint_log_pos= ptr_g->checkpoint_relay_log_pos; my_free(ptr_g->checkpoint_log_name); ptr_g->checkpoint_log_name= NULL; + my_free(ptr_g->checkpoint_relay_log_name); + ptr_g->checkpoint_relay_log_name= NULL; bitmap_clear_all(&group_execed); } === modified file 'sql/rpl_rli_pdb.h' --- a/sql/rpl_rli_pdb.h 2010-12-20 15:58:58 +0000 +++ b/sql/rpl_rli_pdb.h 2010-12-20 19:37:48 +0000 @@ -130,6 +130,8 @@ typedef struct st_slave_job_group uint checkpoint_seqno; my_off_t checkpoint_log_pos; // T-event lop_pos filled by W for CheckPoint char* checkpoint_log_name; + my_off_t checkpoint_relay_log_pos; // T-event lop_pos filled by W for CheckPoint + char* checkpoint_relay_log_name; volatile uchar done; // Flag raised by W, read and reset by C } Slave_job_group; @@ -251,6 +253,8 @@ public: ulonglong group_master_log_pos; char checkpoint_log_name[FN_REFLEN]; ulonglong checkpoint_log_pos; + char checkpoint_relay_log_name[FN_REFLEN]; + ulonglong checkpoint_relay_log_pos; int init_info(); void end_info(); --===============0917748009== 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: 48a9fa96cced983f7361303bd50d06a376a6044c # timestamp: 2010-12-20 21:37:55 +0200 # base_revision_id: andrei.elkin@stripped\ # wqeicq3db3m9qdor # # Begin bundle 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 --===============0917748009==--