summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2019-01-22 11:06:15 +0100
committerSergei Golubchik <serg@mariadb.org>2019-01-23 12:39:03 +0100
commit2a0f1d613219ad7962c3394b9c1996ece40926df (patch)
treec2e58f29411f02833026b5cd9490d01d9ddae77e /storage
parent31d592ba7d3a2d2d227e5d4bf36f0866c9932c57 (diff)
downloadmariadb-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.cc4
-rw-r--r--storage/xtradb/srv/srv0start.cc3
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);
}