1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Bug#17642 mysqlbinlog: Restore from row-based binlog fails

Problem: mysqlbinlog_base64 failed sporadically.

Reason: Missing "flush logs" before running $MYSQL_BINLOG,
which could start dumping the log file before server
has finished writting into it.
Fix:
- implementing --force-if-open option to "mysqlbinlog"
- adding --disable-force-if-open to make $MYSQL_BINLOG
  fail on non-closed log files, to garantee that nobody
  will forget "flush logs" in the future.
- adding "flush logs" into all affected tests.


client/mysqlbinlog.cc:
  Implementing --force-if-open option with TRUE by default
mysql-test/mysql-test-run.pl:
  Using --disable-force-if-open for all tests to avoid
  sporadic test failures because of running "mysqlbinlog"
  on a non-flushed binlog files.
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  FLush log before running dumping.
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
  FLush log before running dumping.
mysql-test/r/mysqlbinlog.result:
  FLush log before running dumping.
mysql-test/r/mysqlbinlog2.result:
  FLush log before running dumping.
mysql-test/r/mysqlbinlog_base64.result:
  FLush log before running dumping.
mysql-test/r/user_var-binlog.result:
  FLush log before running dumping.
mysql-test/t/binlog_row_mix_innodb_myisam.test:
  FLush log before running dumping.
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
  FLush log before running dumping.
mysql-test/t/mysqlbinlog.test:
  FLush log before running dumping.
  
  Adding new tests:
  - checking that $MYSQL_BINLOG returns an error on a non-closed binlog
  file because of --disable-force-if-open
  - checking that it does not return an error with --force-if-open
mysql-test/t/mysqlbinlog2.test:
  FLush log before running dumping.
mysql-test/t/mysqlbinlog_base64.test:
  FLush log before running dumping.
mysql-test/t/user_var-binlog.test:
  FLush log before running dumping.
This commit is contained in:
unknown
2006-12-14 14:05:25 +04:00
parent 9ef60daf78
commit e653222d30
14 changed files with 47 additions and 3 deletions

View File

@@ -170,6 +170,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
--- Local with 2 binlogs on command line --
flush logs;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;