From: Marc Alff Date: September 17 2010 4:21pm Subject: bzr commit into mysql-5.5-bugfixing branch (marc.alff:3209) List-Archive: http://lists.mysql.com/commits/118500 Message-Id: <20100917162209.E062E45E80@linux-su11.site> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2932753360223955190==" --===============2932753360223955190== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/malff/BZR_TREE/mysql-5.5-bugfixing-56832/ based on revid:marc.alff@stripped 3209 Marc Alff 2010-09-17 [merge] local merge modified: sql/log.cc sql/log.h sql/sql_repl.cc === modified file 'sql/log.cc' --- a/sql/log.cc 2010-08-30 08:36:02 +0000 +++ b/sql/log.cc 2010-09-06 17:18:44 +0000 @@ -5284,11 +5284,8 @@ int MYSQL_BIN_LOG::wait_for_update_bin_l const struct timespec *timeout) { int ret= 0; - const char* old_msg = thd->proc_info; DBUG_ENTER("wait_for_update_bin_log"); - old_msg= thd->enter_cond(&update_cond, &LOCK_log, - "Master has sent all binlog to slave; " - "waiting for binlog to be updated"); + if (!timeout) mysql_cond_wait(&update_cond, &LOCK_log); else === modified file 'sql/log.h' --- a/sql/log.h 2010-08-20 11:22:46 +0000 +++ b/sql/log.h 2010-09-06 17:18:44 +0000 @@ -460,6 +460,7 @@ public: inline char* get_log_fname() { return log_file_name; } inline char* get_name() { return name; } inline mysql_mutex_t* get_log_lock() { return &LOCK_log; } + inline mysql_cond_t* get_log_cond() { return &update_cond; } inline IO_CACHE* get_log_file() { return &log_file; } inline void lock_index() { mysql_mutex_lock(&LOCK_index);} === modified file 'sql/sql_repl.cc' --- a/sql/sql_repl.cc 2010-07-26 10:52:59 +0000 +++ b/sql/sql_repl.cc 2010-09-06 17:18:44 +0000 @@ -448,6 +448,8 @@ void mysql_binlog_send(THD* thd, char* l const char *errmsg = "Unknown error"; NET* net = &thd->net; mysql_mutex_t *log_lock; + mysql_cond_t *log_cond; + bool binlog_can_be_corrupted= FALSE; #ifndef DBUG_OFF int left_events = max_binlog_dump_events; @@ -591,7 +593,8 @@ impossible position"; mysql_bin_log, and it's already inited, and it will be destroyed only at shutdown). */ - log_lock = mysql_bin_log.get_log_lock(); + log_lock= mysql_bin_log.get_log_lock(); + log_cond= mysql_bin_log.get_log_cond(); if (pos > BIN_LOG_HEADER_SIZE) { /* reset transmit packet for the event read from binary log @@ -826,6 +829,7 @@ impossible position"; #ifndef DBUG_OFF ulong hb_info_counter= 0; #endif + const char* old_msg= thd->proc_info; signal_cnt= mysql_bin_log.signal_cnt; do { @@ -834,6 +838,9 @@ impossible position"; DBUG_ASSERT(heartbeat_ts && heartbeat_period != 0); set_timespec_nsec(*heartbeat_ts, heartbeat_period); } + thd->enter_cond(log_cond, log_lock, + "Master has sent all binlog to slave; " + "waiting for binlog to be updated"); ret= mysql_bin_log.wait_for_update_bin_log(thd, heartbeat_ts); DBUG_ASSERT(ret == 0 || (heartbeat_period != 0 && coord != NULL)); if (ret == ETIMEDOUT || ret == ETIME) @@ -849,12 +856,15 @@ impossible position"; #endif /* reset transmit packet for the heartbeat event */ if (reset_transmit_packet(thd, flags, &ev_offset, &errmsg)) + { + thd->exit_cond(old_msg); goto err; + } if (send_heartbeat_event(net, packet, coord)) { errmsg = "Failed on my_net_write()"; my_errno= ER_UNKNOWN_ERROR; - mysql_mutex_unlock(log_lock); + thd->exit_cond(old_msg); goto err; } } @@ -863,7 +873,7 @@ impossible position"; DBUG_PRINT("wait",("binary log received update or a broadcast signal caught")); } } while (signal_cnt == mysql_bin_log.signal_cnt && !thd->killed); - mysql_mutex_unlock(log_lock); + thd->exit_cond(old_msg); } break; --===============2932753360223955190== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marc.alff@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marc.alff@stripped # target_branch: file:///home/malff/BZR_TREE/mysql-5.5-bugfixing-\ # 56832/ # testament_sha1: 0a801c322d17fdac06ddc531ff3a5bde8f42f9b1 # timestamp: 2010-09-17 10:22:09 -0600 # source_branch: file:///home/malff/BZR_TREE/mysql-5.5-bugfixing/ # base_revision_id: marc.alff@stripped\ # p03bxokbdwixcdod # # Begin bundle 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 --===============2932753360223955190==--