#At file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/bug-43929/mysql-5.1-bugteam/ based on revid:alfranio.correia@stripped
2913 Alfranio Correia 2009-05-27
BUG#43929 binlog corruption when max_binlog_cache_size is exceeded
Post-fix. The incident events described in BUG#43929 must only be generated
due to errors while writing to the binary log.
modified:
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
sql/log.cc
=== modified file 'mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result'
--- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result 2009-05-27 09:16:31 +0000
+++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result 2009-05-27 09:31:48 +0000
@@ -383,7 +383,6 @@ master-bin.000001 # Query # # use `test`
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Incident # # #1 (LOST_EVENTS)
master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2
master-bin.000001 # Query # # use `test`; BEGIN
=== modified file 'sql/log.cc'
--- a/sql/log.cc 2009-05-27 09:16:31 +0000
+++ b/sql/log.cc 2009-05-27 09:31:48 +0000
@@ -1594,7 +1594,7 @@ static int binlog_rollback(handlerton *h
*/
error= binlog_end_trans(thd, trx_data, 0, all);
if (thd->transaction.all.modified_non_trans_table &&
- !trx_data->has_incident())
+ !trx_data->has_incident() && mysql_bin_log.check_write_error(thd))
{
trx_data->set_incident();
trx_data->calculate_cache_size();
Attachment: [text/bzr-bundle]
| Thread |
|---|
| • bzr commit into mysql-5.1-bugteam branch (alfranio.correia:2913)Bug#43929 | Alfranio Correia | 27 May |