summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <kaa@polly.local>2007-07-11 19:16:37 +0400
committerunknown <kaa@polly.local>2007-07-11 19:16:37 +0400
commit43d2564820b7c3c23e7aedbc59831ff37e9069ed (patch)
tree2cd44eece3092a0071c300a2bc29ef01ba9a8669 /sql
parentb7af4c5b25e8ae6768a35b5ddf296d41642f6785 (diff)
parent0f164c2c4c0e16f185b2fa845090e9295f24bce6 (diff)
downloadmariadb-git-43d2564820b7c3c23e7aedbc59831ff37e9069ed.tar.gz
Merge polly.local:/home/kaa/src/maint/bug24192/my51-bug24192
into polly.local:/home/kaa/src/maint/mysql-5.1-maint sql/slave.cc: Auto merged
Diffstat (limited to 'sql')
-rw-r--r--sql/slave.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index d2c5b4fd254..2e8e3f582de 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -27,6 +27,7 @@
#include <my_dir.h>
#include <sql_common.h>
#include <errmsg.h>
+#include <mysys_err.h>
#ifdef HAVE_REPLICATION
@@ -2204,20 +2205,23 @@ reading event"))
if (event_len == packet_error)
{
uint mysql_error_number= mysql_errno(mysql);
- if (mysql_error_number == CR_NET_PACKET_TOO_LARGE)
- {
+ switch (mysql_error_number) {
+ case CR_NET_PACKET_TOO_LARGE:
sql_print_error("\
Log entry on master is longer than max_allowed_packet (%ld) on \
slave. If the entry is correct, restart the server with a higher value of \
max_allowed_packet",
thd->variables.max_allowed_packet);
goto err;
- }
- if (mysql_error_number == ER_MASTER_FATAL_ERROR_READING_BINLOG)
- {
+ case ER_MASTER_FATAL_ERROR_READING_BINLOG:
sql_print_error(ER(mysql_error_number), mysql_error_number,
mysql_error(mysql));
goto err;
+ case EE_OUTOFMEMORY:
+ case ER_OUTOFMEMORY:
+ sql_print_error("\
+Stopping slave I/O thread due to out-of-memory error from master");
+ goto err;
}
if (try_to_reconnect(thd, mysql, mi, &retry_count, suppress_warnings,
reconnect_messages[SLAVE_RECON_ACT_EVENT]))