summaryrefslogtreecommitdiff
path: root/sql/backup.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2019-10-30 17:41:39 +0200
committerMonty <monty@mariadb.org>2019-11-01 10:22:30 +0200
commit366f4f299e9412b07d03a79c95ca6a2d4f0de0d8 (patch)
tree9d8fe3f2562ca3bbc7ed7e33f03bfff87dc0b678 /sql/backup.cc
parentfcd65b03769b314a4769345831ab1e326ad6bbbb (diff)
downloadmariadb-git-366f4f299e9412b07d03a79c95ca6a2d4f0de0d8.tar.gz
Fix that BACKUP STAGE BLOCK_COMMIT flushes binary log
Diffstat (limited to 'sql/backup.cc')
-rw-r--r--sql/backup.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/backup.cc b/sql/backup.cc
index 73cd13ffe2a..5976506cf92 100644
--- a/sql/backup.cc
+++ b/sql/backup.cc
@@ -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);