Loading sql/log_event.h +4 −2 Original line number Diff line number Diff line Loading @@ -147,8 +147,10 @@ struct sql_ex_info #define EXEC_LOAD_HEADER_LEN 4 #define DELETE_FILE_HEADER_LEN 4 /* amount of byte is contribution of replicaton protocol to a query received from user when the query goes to binlog */ /* Max number of possible extra bytes in a replication event compared to a packet (i.e. a query) sent from client to master. */ #define MAX_LOG_EVENT_HEADER (LOG_EVENT_HEADER_LEN + /* write_header */ \ QUERY_HEADER_LEN + /* write_data */ \ NAME_LEN + 1) Loading sql/slave.cc +11 −2 Original line number Diff line number Diff line Loading @@ -2618,8 +2618,13 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type) SYSTEM_THREAD_SLAVE_SQL : SYSTEM_THREAD_SLAVE_IO; thd->host_or_ip= ""; my_net_init(&thd->net, 0); /* Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all slave threads, since a replication event can become this much larger than the corresponding packet (query) sent from client to master. */ thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet + MAX_LOG_EVENT_HEADER; /* reentering secured through using global */ + MAX_LOG_EVENT_HEADER; /* note, incr over the global not session var */ thd->net.read_timeout = slave_net_timeout; thd->master_access= ~(ulong)0; thd->priv_user = 0; Loading Loading @@ -3156,7 +3161,11 @@ extern "C" pthread_handler_decl(handle_slave_io,arg) mi->host, mi->port, IO_RPL_LOG_NAME, llstr(mi->master_log_pos,llbuff)); /* post-net-init for slave */ /* Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O thread, since a replication event can become this much larger than the corresponding packet (query) sent from client to master. */ mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER; } else Loading sql/sql_repl.cc +5 −1 Original line number Diff line number Diff line Loading @@ -420,7 +420,11 @@ impossible position"; goto err; } packet->set("\0", 1, &my_charset_bin); /* dump thread the whole header size of query_log_event */ /* Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become this larger than the corresponding packet (query) sent from client to master. */ thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER; while (!net->error && net->vio != 0 && !thd->killed) Loading Loading
sql/log_event.h +4 −2 Original line number Diff line number Diff line Loading @@ -147,8 +147,10 @@ struct sql_ex_info #define EXEC_LOAD_HEADER_LEN 4 #define DELETE_FILE_HEADER_LEN 4 /* amount of byte is contribution of replicaton protocol to a query received from user when the query goes to binlog */ /* Max number of possible extra bytes in a replication event compared to a packet (i.e. a query) sent from client to master. */ #define MAX_LOG_EVENT_HEADER (LOG_EVENT_HEADER_LEN + /* write_header */ \ QUERY_HEADER_LEN + /* write_data */ \ NAME_LEN + 1) Loading
sql/slave.cc +11 −2 Original line number Diff line number Diff line Loading @@ -2618,8 +2618,13 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type) SYSTEM_THREAD_SLAVE_SQL : SYSTEM_THREAD_SLAVE_IO; thd->host_or_ip= ""; my_net_init(&thd->net, 0); /* Adding MAX_LOG_EVENT_HEADER_LEN to the max_allowed_packet on all slave threads, since a replication event can become this much larger than the corresponding packet (query) sent from client to master. */ thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet + MAX_LOG_EVENT_HEADER; /* reentering secured through using global */ + MAX_LOG_EVENT_HEADER; /* note, incr over the global not session var */ thd->net.read_timeout = slave_net_timeout; thd->master_access= ~(ulong)0; thd->priv_user = 0; Loading Loading @@ -3156,7 +3161,11 @@ extern "C" pthread_handler_decl(handle_slave_io,arg) mi->host, mi->port, IO_RPL_LOG_NAME, llstr(mi->master_log_pos,llbuff)); /* post-net-init for slave */ /* Adding MAX_LOG_EVENT_HEADER_LEN to the max_packet_size on the I/O thread, since a replication event can become this much larger than the corresponding packet (query) sent from client to master. */ mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER; } else Loading
sql/sql_repl.cc +5 −1 Original line number Diff line number Diff line Loading @@ -420,7 +420,11 @@ impossible position"; goto err; } packet->set("\0", 1, &my_charset_bin); /* dump thread the whole header size of query_log_event */ /* Adding MAX_LOG_EVENT_HEADER_LEN, since a binlog event can become this larger than the corresponding packet (query) sent from client to master. */ thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER; while (!net->error && net->vio != 0 && !thd->killed) Loading