mariadb/storage/innobase/dict
Marko Mäkelä 33f70c4d9c MDEV-13869 MariaDB slow start
When code from MySQL 5.7.9 was merged to MariaDB 10.2.2
in commit 2e814d4702
an assignment validate=true was inadvertently added to the function
dict_check_sys_tables().

This causes InnoDB to open every single .ibd file on startup, even
when no crash recovery was needed.

Simply removing the assignment would make some tests fail. We do the
best to retain almost the same level of inconsistency detection.
In the test innodb.table_flags, access to one of the tables will not
be blocked despite inconsistent flags.

dict_check_sys_tables(): Remove the problematic assignment, and skip
validation in normal startup.

dict_load_table_one(): If the .ibd file cannot be opened, mark the
table as corrupted and unreadable.

fil_node_open_file(): Validate FSP_SPACE_FLAGS with the expected
flags. If reading the tablespace fails, invalidate node->handle
instead of letting it remain stale. This bug was caught by a
fil_validate() assertion failure.

fsp_flags_try_adjust(): If the tablespace file is invalid, do nothing.
2018-02-12 14:06:04 +02:00
..
dict0boot.cc Remove dict_disable_redo_if_temporary() 2017-10-03 11:37:38 +03:00
dict0crea.cc Remove a constant parameter commit=false 2017-10-02 11:27:53 +03:00
dict0defrag_bg.cc MDEV-15063: InnoDB assertion failure !is_owned() at dict0defrag_bg.cc:327 2018-01-25 11:28:38 +02:00
dict0dict.cc MDEV-12121 follow-up: Unbreak the WITH_INNODB_AHI=OFF build 2018-01-15 15:40:28 +02:00
dict0load.cc MDEV-13869 MariaDB slow start 2018-02-12 14:06:04 +02:00
dict0mem.cc Merge branch 'github/10.1' into 10.2 2018-02-06 14:50:50 +01:00
dict0stats.cc MDEV-14941 Timeouts on persistent statistics tables caused by MDEV-14511 2018-01-22 08:58:47 +02:00
dict0stats_bg.cc MDEV-14941 Timeouts on persistent statistics tables caused by MDEV-14511 2018-01-22 08:58:47 +02:00