diff options
author | unknown <monty@mashka.mysql.fi> | 2002-07-19 21:57:53 +0300 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2002-07-19 21:57:53 +0300 |
commit | a9c52ff7172308af72f062a1cae86671cbb1ed7a (patch) | |
tree | a8e6eca0f255ec9e518c1f9974e71335bdfa63aa /sql/slave.cc | |
parent | 887aaff93919e9f359133d8c7a86277789d130e1 (diff) | |
download | mariadb-git-a9c52ff7172308af72f062a1cae86671cbb1ed7a.tar.gz |
Fix wrong usage of constant which could cause mysqld to use index when doing an update/delete on small tables.
code cleanup
Docs/manual.texi:
changelog
sql/ha_innobase.cc:
Removed compiler warning
sql/slave.cc:
Cleanup comments and indentation for suppressing connect warnings
sql/sql_db.cc:
clean up comment
sql/sql_delete.cc:
Fix wrong usage of constant which could cause mysqld to use index when doing an update/delete on small tables.
sql/sql_update.cc:
Fix wrong usage of constant which could cause mysqld to use index when doing an update/delete on small tables.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 57 |
1 files changed, 27 insertions, 30 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index b11fcc0d847..adbf3c106cc 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -55,7 +55,7 @@ inline bool slave_killed(THD* thd); static int init_slave_thread(THD* thd); static int safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi); static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi, - bool suppress_prints_as_normal_reconnect_after_timeout); + bool suppress_warnings); static int safe_sleep(THD* thd, int sec); static int request_table_dump(MYSQL* mysql, char* db, char* table); static int create_table_from_dump(THD* thd, NET* net, const char* db, @@ -839,13 +839,15 @@ command"); return 0; } -/* We set suppress_prints_as_normal_reconnect_after_timeout TRUE -when a normal net read timeout has caused us to try a reconnect. -We do not want to print anything to the error log in this case -because this a anormal event in an idle server. */ -static uint read_event(MYSQL* mysql, MASTER_INFO *mi, - bool* suppress_prints_as_normal_reconnect_after_timeout) +/* + We set suppress_warnings TRUE when a normal net read timeout has + caused us to try a reconnect. We do not want to print anything to + the error log in this case because this a anormal event in an idle + server. +*/ + +static uint read_event(MYSQL* mysql, MASTER_INFO *mi, bool* suppress_warnings) { uint len = packet_error; @@ -855,24 +857,25 @@ static uint read_event(MYSQL* mysql, MASTER_INFO *mi, if (disconnect_slave_event_count && !(events_till_disconnect--)) return packet_error; #endif - *suppress_prints_as_normal_reconnect_after_timeout = 0; + *suppress_warnings= 0; len = mc_net_safe_read(mysql); if (len == packet_error || (long) len < 1) { - if (mc_mysql_errno(mysql) == ER_NET_READ_INTERRUPTED) { - - /* We are trying a normal reconnect after a read timeout; - we suppress prints to .err file as long as the reconnect - happens without problems */ - *suppress_prints_as_normal_reconnect_after_timeout = TRUE; + if (mc_mysql_errno(mysql) == ER_NET_READ_INTERRUPTED) + { + /* + We are trying a normal reconnect after a read timeout; + we suppress prints to .err file as long as the reconnect + happens without problems + */ + *suppress_warnings= TRUE; } - - if (!(*suppress_prints_as_normal_reconnect_after_timeout)) + else sql_print_error("Error reading packet from server: %s (\ server_errno=%d)", - mc_mysql_error(mysql), mc_mysql_errno(mysql)); + mc_mysql_error(mysql), mc_mysql_errno(mysql)); return packet_error; } @@ -1380,15 +1383,13 @@ try again, log '%s' at postion %s", RPL_LOG_NAME, while(!slave_killed(thd)) { - bool suppress_prints_as_normal_reconnect_after_timeout = 0; + bool suppress_warnings= 0; thd->proc_info = "Reading master update"; - uint event_len = read_event(mysql, &glob_mi, - &suppress_prints_as_normal_reconnect_after_timeout); + uint event_len = read_event(mysql, &glob_mi, &suppress_warnings); if(slave_killed(thd)) { - suppress_prints_as_normal_reconnect_after_timeout = 0; sql_print_error("Slave thread killed while reading event"); goto err; } @@ -1397,7 +1398,6 @@ try again, log '%s' at postion %s", RPL_LOG_NAME, { if(mc_mysql_errno(mysql) == ER_NET_PACKET_TOO_LARGE) { - suppress_prints_as_normal_reconnect_after_timeout = 0; sql_print_error("Log entry on master is longer than \ max_allowed_packet on slave. Slave thread will be aborted. If the entry is \ really supposed to be that long, restart the server with a higher value of \ @@ -1415,7 +1415,6 @@ max_allowed_packet. The current value is %ld", max_allowed_packet); if(slave_killed(thd)) { - suppress_prints_as_normal_reconnect_after_timeout = 0; sql_print_error("Slave thread killed while waiting to \ reconnect after a failed read"); goto err; @@ -1423,21 +1422,19 @@ reconnect after a failed read"); thd->proc_info = "Reconnecting after a failed read"; last_failed_pos= glob_mi.pos; - if (!suppress_prints_as_normal_reconnect_after_timeout) + if (!suppress_warnings) sql_print_error("Slave: Failed reading log event, \ reconnecting to retry, log '%s' position %s", RPL_LOG_NAME, llstr(last_failed_pos, llbuff)); if(safe_reconnect(thd, mysql, &glob_mi, - suppress_prints_as_normal_reconnect_after_timeout) + suppress_warnings) || slave_killed(thd)) { - suppress_prints_as_normal_reconnect_after_timeout = 0; sql_print_error("Slave thread killed during or after a \ reconnect done to recover from failed read"); goto err; } - suppress_prints_as_normal_reconnect_after_timeout = 0; goto connected; } // if(event_len == packet_error) @@ -1550,7 +1547,7 @@ static int safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi) */ static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi, - bool suppress_prints_as_normal_reconnect_after_timeout) + bool suppress_warnings) { int slave_was_killed; int last_errno= -2; // impossible error @@ -1570,7 +1567,7 @@ static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi, /* Don't repeat last error */ if (mc_mysql_errno(mysql) != last_errno) { - suppress_prints_as_normal_reconnect_after_timeout = 0; + suppress_warnings= 0; sql_print_error("Slave thread: error re-connecting to master: \ %s, last_errno=%d, retry in %d sec", mc_mysql_error(mysql), last_errno=mc_mysql_errno(mysql), @@ -1587,7 +1584,7 @@ static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi, if (!slave_was_killed) { - if (!suppress_prints_as_normal_reconnect_after_timeout) + if (!suppress_warnings) sql_print_error("Slave: reconnected to master '%s@%s:%d',\ replication resumed in log '%s' at position %s", glob_mi.user, glob_mi.host, glob_mi.port, |