Download | Plain Text | No Line Numbers
- diff -Naur sql/slave.cc sql/slave.cc
- --- sql/slave.cc 2011-08-31 19:22:46.000000000 +0200
- +++ sql/slave.cc 2011-10-22 18:18:02.000000000 +0200
- @@ -2034,7 +2034,10 @@
- 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
- + //thd->variables.max_allowed_packet= global_system_variables.max_allowed_packet
- + // + MAX_LOG_EVENT_HEADER; /* note, incr over the global not session var */
- + thd->variables.max_allowed_packet= max(global_system_variables.max_allowed_packet,
- + global_system_variables.replicate_max_allowed_packet)
- + MAX_LOG_EVENT_HEADER; /* note, incr over the global not session var */
- thd->slave_thread = 1;
- thd->enable_slow_log= opt_log_slow_slave_statements;
- @@ -2785,7 +2788,10 @@
- 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;
- + //mysql->net.max_packet_size= thd->net.max_packet_size+= MAX_LOG_EVENT_HEADER;
- + mysql->net.max_packet_size = max(thd->net.max_packet_size,
- + global_system_variables.replicate_max_allowed_packet)
- + + MAX_LOG_EVENT_HEADER;
- }
- else
- {
- diff -Naur sql/sql_class.h sql/sql_class.h
- --- sql/sql_class.h 2011-08-31 19:22:46.000000000 +0200
- +++ sql/sql_class.h 2011-10-22 18:08:09.000000000 +0200
- @@ -460,6 +460,7 @@
- ulong join_buff_size;
- ulong lock_wait_timeout;
- ulong max_allowed_packet;
- + ulong replicate_max_allowed_packet;
- ulong max_error_count;
- ulong max_length_for_sort_data;
- ulong max_sort_length;
- diff -Naur sql/sql_repl.cc sql/sql_repl.cc
- --- sql/sql_repl.cc 2011-07-13 21:09:03.000000000 +0200
- +++ sql/sql_repl.cc 2011-10-22 18:19:37.000000000 +0200
- @@ -587,7 +587,10 @@
- this larger than the corresponding packet (query) sent
- from client to master.
- */
- - thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
- + //thd->variables.max_allowed_packet+= MAX_LOG_EVENT_HEADER;
- + thd->variables.max_allowed_packet = max(thd->variables.max_allowed_packet,
- + thd->variables.replicate_max_allowed_packet)
- + + MAX_LOG_EVENT_HEADER;
-
- /*
- We can set log_lock now, it does not move (it's a member of
- @@ -1787,7 +1790,10 @@
- /*
- to account binlog event header size
- */
- - thd->variables.max_allowed_packet += MAX_LOG_EVENT_HEADER;
- + //thd->variables.max_allowed_packet += MAX_LOG_EVENT_HEADER;
- + thd->variables.max_allowed_packet = max(thd->variables.max_allowed_packet,
- + thd->variables.replicate_max_allowed_packet)
- + + MAX_LOG_EVENT_HEADER;
-
- mysql_mutex_lock(log_lock);
-
- diff -Naur sql/sys_vars.cc sql/sys_vars.cc
- --- sql/sys_vars.cc 2011-08-31 19:22:46.000000000 +0200
- +++ sql/sys_vars.cc 2011-10-22 18:05:27.000000000 +0200
- @@ -1058,6 +1058,31 @@
- BLOCK_SIZE(1024), NO_MUTEX_GUARD, NOT_IN_BINLOG,
- ON_CHECK(check_max_allowed_packet));
-
- +static bool
- +check_replicate_max_allowed_packet(sys_var *self, THD *thd, set_var *var)
- +{
- + longlong val;
- + if (session_readonly(self, thd, var))
- + return true;
- +
- + val= var->save_result.ulonglong_value;
- + if (val < (longlong) global_system_variables.max_allowed_packet)
- + {
- + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
- + WARN_OPTION_BELOW_LIMIT, ER(WARN_OPTION_BELOW_LIMIT),
- + "replicate_max_allowed_packet", "max_allowed_packet");
- + }
- + return false;
- +}
- +
- +static Sys_var_ulong Sys_replicate_max_allowed_packet(
- + "replicate_max_allowed_packet",
- + "Max packet length to send to or receive from the server for replication threads",
- + SESSION_VAR(replicate_max_allowed_packet), CMD_LINE(REQUIRED_ARG),
- + VALID_RANGE(1024, 1024*1024*1024), DEFAULT(1024*1024),
- + BLOCK_SIZE(1024), NO_MUTEX_GUARD, NOT_IN_BINLOG,
- + ON_CHECK(check_replicate_max_allowed_packet));
- +
- static Sys_var_ulonglong Sys_max_binlog_cache_size(
- "max_binlog_cache_size",
- "Sets the total size of the transactional cache",
-