mariadb/mysql-test/t/rpl_loaddata_map-master.opt
unknown 40d89c44ea BUG#30435 loading large LOAD DATA INFILE breaks slave with
read_buffer_size set on master
BUG#33413 show binlog events fails if binlog has event size of close
          to max_allowed_packet


The size of Append_block replication event was determined solely by
read_buffer_size whereas the rest of replication code deals with
max_allowed_packet.
When the former parameter was set to larger than the latter there were
two artifacts: the master could not read events from binlog;
show master events did not show.

Fixed with 
- fragmenting the used io-cached buffer into pieces each size of less
  than max_allowed_packet (bug#30435)
- incrementing show-binlog-events handling thread's max_allowed_packet
  with the max estimated for the replication header size


include/my_sys.h:
  accessor-macros added in order not to mess with the io cache's implementation
  details in code that merely exploits the io-cache.
sql/sql_repl.cc:
  BUG#33413: incrementing thd->variables.max_allowed_packet with 
  the max estimation for the replication header size (from bug#19402);
  refactoring log_loaded_block() to fragment the io_cache buffer in case
   read_buffer_size > max_allowed_packet.
mysql-test/r/rpl_loaddata_map.result:
  New BitKeeper file ``mysql-test/r/rpl_loaddata_map.result''
mysql-test/t/rpl_loaddata_map-master.opt:
  specific options to trigger  BUG#30435,  BUG#33413 situations
mysql-test/t/rpl_loaddata_map-slave.opt:
  max_allowed_packet to be compatible with the master's version.
mysql-test/t/rpl_loaddata_map.test:
  regression tests for two bugs.
2007-12-21 22:34:43 +02:00

1 line
46 B
Text

--read_buffer_size=9K --max_allowed_packet=8K