mariadb/mysql-test/std_data
Andrei Elkin 593c9457cd Bug#11747416 : 32228 A disk full makes binary log corrupt
Binary log of master can get a partially logged event if the server
runs out of disk space and, while waiting for some space to be freed,
is shut down (or crashes). If the server is not stopped, it will just
wait endlessly for space to be freed, thus no partial event anomaly
occurs.  The restarted master server has had a dubious policy to send
the incomplete event to slave which it apparently can't handle.
Although an error was printed out the fact of sending with unclear
error message is a source of confusion.
Actually the problem of presence an incomplete event in the binary log
was already fixed by WL 5493 (which was merged to our current trunk
branch, major version 5.6). The fix makes the server truncate the
binary log on server restart and recovery.

However 5.5 master can't do that. So the current issue is a problem of
sending incomplete events to the slave by 5.5 master.

It is fixed in this patch by changing the policy so that only complete
events are pushed by the dump thread to the IO thread. In addition,
the error text that master sends to the slave when an incomplete event
is found, now states that incomplete event may have been caused by an
out-of-disk space situation and provides coordinates of
the first and the last event bytes read.


mysql-test/std_data/bug11747416_32228_binlog.000001:
  a binlog is added with the last event written partly.
mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
  new result file is added.
mysql-test/suite/rpl/r/rpl_log_pos.result:
  results updated.
mysql-test/suite/rpl/r/rpl_manual_change_index_file.result:
  results updated.
mysql-test/suite/rpl/r/rpl_packet.result:
  results updated.
mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
  regression test for bug#11747416 : 32228 A disk full makes binary log corrupt
  is added.
sql/share/errmsg-utf8.txt:
  Increasing the explanatory part of ER_MASTER_FATAL_ERROR_READING_BINLOG error message twice
  in order to fit to the updated version which carries some more info.
sql/sql_repl.cc:
  Error text indicating a failure of reading from binlog that master delivers to the slave 
  is made more clear;
  A policy to regard a partial event to send it out to the slave anyway is removed.
2011-09-29 14:14:43 +03:00
..
funcs_1
ndb_backup50
ndb_backup51
ndb_backup51_data_be
ndb_backup51_data_le
parts
14897.frm
bad_gis_data.dat
binlog_savepoint.000001
binlog_transaction.000001
bug15328.cnf
bug16266.000001
bug19371.frm
bug19371.MYD
bug19371.MYI
bug30435_5k.txt
bug30435_10k_items.txt
bug33029-slave-relay-bin.000001
bug35469.dat
bug36055.frm
bug36055.MYD
bug36055.MYI
bug37631.frm
bug37631.MYD
bug37631.MYI
bug40482-bin.000001
bug46565.ARZ
bug46565.frm
bug47012.ARM
bug47012.ARZ
bug47012.frm
bug47142_master-bin.000001
bug47205.frm
bug48265.frm
bug48449.frm
bug49823.CSM
bug49823.CSV
bug49823.frm
bug11747416_32228_binlog.000001
cacert.pem
charset_utf8.txt
checkDBI_DBD-mysql.pl
client-cert.pem
client-key.pem
cluster_7022_table.frm
cluster_7022_table.MYD
cluster_7022_table.MYI
corrupt-relay-bin.000624
corrupt_t1#P#p1.MYI
corrupt_t1.MYI
des_key_file
Index.xml
init_file.dat
intersect-bug50389.tsv
latin1.xml
loaddata1.dat
loaddata2.dat
loaddata3.dat
loaddata4.dat
loaddata5.dat
loaddata6.dat
loaddata_dq.dat
loaddata_pair.dat
loaddata_utf8.dat
loadxml.dat
loadxml2.dat
master-bin.000001
Moscow_leap
ndb_config_config.ini
ndb_config_mycnf1.cnf
ndb_config_mycnf2.cnf
numbers.txt
old_table-323.frm
rpl_bug28618.dat
rpl_loaddata.dat
rpl_loaddata2.dat
rpl_mixed.dat
rpl_timezone.dat
rpl_timezone2.dat
server-cert.pem
server-key.pem
server8k-cert.pem
server8k-key.pem
trunc_binlog.000001
untrusted-cacert.pem
vchar.frm
warnings_loaddata.dat
words.dat
words2.dat