Commit 366f4f29 authored by Monty's avatar Monty

Fix that BACKUP STAGE BLOCK_COMMIT flushes binary log

parent fcd65b03
#
# Test BACKUP STAGES BLOCK_COMMIT with binary logging on
#
SET BINLOG_FORMAT=MIXED;
RESET MASTER;
create table t1 (a int) engine=aria;
insert into t1 values (1);
BACKUP STAGE START;
BACKUP STAGE BLOCK_COMMIT;
SELECT @@gtid_binlog_pos;
@@gtid_binlog_pos
0-1-2
BACKUP STAGE END;
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=aria
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT
drop table t1;
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed.inc
--echo #
--echo # Test BACKUP STAGES BLOCK_COMMIT with binary logging on
--echo #
SET BINLOG_FORMAT=MIXED;
RESET MASTER;
create table t1 (a int) engine=aria;
insert into t1 values (1);
BACKUP STAGE START;
BACKUP STAGE BLOCK_COMMIT;
SELECT @@gtid_binlog_pos;
BACKUP STAGE END;
source include/show_binlog_events.inc;
drop table t1;
......@@ -290,6 +290,14 @@ static bool backup_block_commit(THD *thd)
/* We can ignore errors from flush_tables () */
(void) flush_tables(thd, FLUSH_SYS_TABLES);
if (mysql_bin_log.is_open())
{
mysql_mutex_lock(mysql_bin_log.get_log_lock());
mysql_file_sync(mysql_bin_log.get_log_file()->file,
MYF(MY_WME|MY_SYNC_FILESIZE));
mysql_mutex_unlock(mysql_bin_log.get_log_lock());
}
thd->clear_error();
DBUG_RETURN(0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment