From 68890fe7d48b6fee505f294400224fe01107950c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 6 Jun 2017 15:24:43 +0300 Subject: [PATCH] Revert part of MDEV-12113 commit 1af8bf39ca2513bfdf43a55af0b6af10d32dcebb added unnecessary calls to fil_write_flushed_lsn() during redo log resizing at InnoDB server startup. Because fil_write_flushed_lsn() is neither redo-logged nor doublewrite buffered, the call is risky and should be avoided, because if the server killed during the write call, the whole InnoDB instance can become inaccessible (corrupted page 0 in the system tablespace). In the best case, this call might prevent a diagnostic message from being emitted to the error log on the next startup. --- storage/innobase/srv/srv0start.cc | 13 ++----------- storage/xtradb/srv/srv0start.cc | 10 ---------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc index 032b902c633..4e59ddd1f87 100644 --- a/storage/innobase/srv/srv0start.cc +++ b/storage/innobase/srv/srv0start.cc @@ -2766,17 +2766,8 @@ files_checked: return(err); } - /* create_log_files() can increase system lsn that is - why FIL_PAGE_FILE_FLUSH_LSN have to be updated */ - flushed_lsn = log_get_lsn(); - - err = fil_write_flushed_lsn(flushed_lsn); - - if (err == DB_SUCCESS) { - err = create_log_files_rename( - logfilename, dirnamelen, - flushed_lsn, logfile0); - } + err = create_log_files_rename(logfilename, dirnamelen, + log_get_lsn(), logfile0); if (err != DB_SUCCESS) { return(err); diff --git a/storage/xtradb/srv/srv0start.cc b/storage/xtradb/srv/srv0start.cc index 9491d5328e7..cbab9b2f8c4 100644 --- a/storage/xtradb/srv/srv0start.cc +++ b/storage/xtradb/srv/srv0start.cc @@ -2852,16 +2852,6 @@ files_checked: return(err); } - /* create_log_files() can increase system lsn that is - why FIL_PAGE_FILE_FLUSH_LSN have to be updated */ - flushed_lsn = log_get_lsn(); - - err = fil_write_flushed_lsn(flushed_lsn); - - if (err != DB_SUCCESS) { - return(err); - } - err = create_log_files_rename(logfilename, dirnamelen, log_get_lsn(), logfile0);