Commit fe543691 authored by sasha@mysql.sashanet.com's avatar sasha@mysql.sashanet.com
Browse files

better error message in replication when packet is too large

parent c6ceb04b
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -330,9 +330,15 @@ mc_net_safe_read(MYSQL *mysql)
    if(errno != EINTR)
      {
        mc_end_server(mysql);
	if(net->last_errno != ER_NET_PACKET_TOO_LARGE)
	  {
            net->last_errno=CR_SERVER_LOST;
            strmov(net->last_error,ER(net->last_errno));
	  }
	else
	  strmov(net->last_error, "Packet too large - increase \
max_allowed_packet on this server");
      }	
    return(packet_error);
  }
  if (net->read_pos[0] == 255)
+11 −1
Original line number Diff line number Diff line
@@ -1294,8 +1294,18 @@ try again, log '%s' at postion %s", RPL_LOG_NAME,
	      goto err;
	    }

	  	  
	  if (event_len == packet_error)
	  {
	    if(mc_mysql_errno(mysql) == ER_NET_PACKET_TOO_LARGE)
	      {
		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 \
max_allowed_packet. The current value is %ld", max_allowed_packet);
		goto err;
	      }
	    
	    thd->proc_info = "Waiting to reconnect after a failed read";
	    if(mysql->net.vio)
 	      vio_close(mysql->net.vio);