From b3b1c51e4de0866bd1baae888eacb86c2d3b3698 Mon Sep 17 00:00:00 2001 From: Thirunarayanan Balathandayuthapani Date: Thu, 23 Jul 2020 20:43:09 +0530 Subject: MDEV-23134 SEGV in dict_load_table_one during restart after server crash Problem: ======== dict_load_table_one() doesn't handle the scenario where clustered index page is FIL_NULL when DICT_ERR_IGNORE_INDEX_ROOT mode is set. Fix: ==== InnoDB should set the file_unreadable when it can't find the clustered index root page. --- storage/innobase/dict/dict0dict.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'storage/innobase/dict') diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc index 5fb6f676e80..84478d7528b 100644 --- a/storage/innobase/dict/dict0dict.cc +++ b/storage/innobase/dict/dict0dict.cc @@ -5804,6 +5804,7 @@ dict_set_corrupted_index_cache_only( is corrupted */ if (dict_index_is_clust(index)) { index->table->corrupted = TRUE; + index->table->file_unreadable = true; } index->type |= DICT_CORRUPT; -- cgit v1.2.1