diff options
author | Sergei Golubchik <serg@mariadb.org> | 2019-01-22 11:06:15 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2019-01-23 12:39:03 +0100 |
commit | 2a0f1d613219ad7962c3394b9c1996ece40926df (patch) | |
tree | c2e58f29411f02833026b5cd9490d01d9ddae77e /storage | |
parent | 31d592ba7d3a2d2d227e5d4bf36f0866c9932c57 (diff) | |
download | mariadb-git-2a0f1d613219ad7962c3394b9c1996ece40926df.tar.gz |
Bug#28867993: POSSIBLE ISSUE WITH MYSQL SERVER RESTART
on startup innodb is checking whether files "ib_logfileN"
(for N from 1 to 100) exist, and whether they're readable.
A non-existent file aborted the scan.
A directory instead of a file made InnoDB to fail.
Now it treats "directory exists" as "file doesn't exist".
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/srv/srv0start.cc | 4 | ||||
-rw-r--r-- | storage/xtradb/srv/srv0start.cc | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc index 789fe50d337..8412f941588 100644 --- a/storage/innobase/srv/srv0start.cc +++ b/storage/innobase/srv/srv0start.cc @@ -2255,6 +2255,10 @@ innobase_start_or_create_for_mysql() break; } + if (stat_info.type != OS_FILE_TYPE_FILE) { + break; + } + if (!srv_file_check_mode(logfilename)) { return(DB_ERROR); } diff --git a/storage/xtradb/srv/srv0start.cc b/storage/xtradb/srv/srv0start.cc index 04f40d039b1..ddf618420d9 100644 --- a/storage/xtradb/srv/srv0start.cc +++ b/storage/xtradb/srv/srv0start.cc @@ -2335,6 +2335,9 @@ innobase_start_or_create_for_mysql() break; } + if (stat_info.type != OS_FILE_TYPE_FILE) { + break; + } if (!srv_file_check_mode(logfilename)) { return(DB_ERROR); } |