Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Do
Description
InnoDB startup unnecessarily waits for recovered redo log records to be applied to the data files.
In fact, normally while the function trx_sys_init_at_db_start() is executing, the pages that it is requesting from the buffer pool will have any recovered redo log applied to them in the background.
Basically, we only need to remove or refactor some calls in the InnoDB server startup. Some of this was performed in MDEV-19514 and MDEV-21216.
The crash recovery would ‘complete’ at the time of the next redo log checkpoint is written.
We should rewrite or remove recv_recovery_from_checkpoint_finish() recv_sys.apply(true) so that it will not wait for any page flushing to complete (already done in MDEV-27022). While doing this, we must also remove the buf_pool_t::flush_rbt (removed in MDEV-23399) and use the normal flushing mechanism that strictly obeys the ARIES protocol for write-ahead logging (implemented in MDEV-24626).
Attachments
Issue Links
- blocks
-
MDEV-12700 Allow innodb_read_only startup without prior slow shutdown
- Closed
- includes
-
MDEV-27022 Buffer pool is being flushed during recovery
- Closed
- is blocked by
-
MDEV-9843 InnoDB hangs on startup between "InnoDB: Apply batch completed" and "rollback segment(s) are active", various tests fail sporadically in buildbot on p8-rhel6-bintar-debug
- Closed
-
MDEV-13564 TRUNCATE TABLE and undo tablespace truncation are not compatible with Mariabackup
- Closed
-
MDEV-13869 MariaDB slow start
- Closed
-
MDEV-19514 Defer change buffer merge until pages are requested
- Closed
-
MDEV-21216 InnoDB performs dirty read of TRX_SYS page before crash recovery
- Closed
-
MDEV-23399 10.5 performance regression with IO-bound tpcc
- Closed
-
MDEV-24626 Remove synchronous write of page0 and flushing file during file creation
- Closed
-
MDEV-27022 Buffer pool is being flushed during recovery
- Closed
- relates to
-
MDEV-12699 Improve crash recovery of corrupted data pages
- Closed
-
MDEV-13542 Crashing on a corrupted page is unhelpful
- Closed
-
MDEV-13564 TRUNCATE TABLE and undo tablespace truncation are not compatible with Mariabackup
- Closed
-
MDEV-14935 Remove bogus conditions related to not redo-logging PAGE_MAX_TRX_ID changes
- Closed
-
MDEV-18733 MariaDB slow start after crash recovery
- Closed
-
MDEV-19229 Allow innodb_undo_tablespaces to be changed after database creation
- Closed
-
MDEV-27610 Unnecessary wait in InnoDB crash recovery
- Closed
-
MDEV-29911 InnoDB recovery and mariadb-backup --prepare fail to report detailed progress
- Closed
-
MDEV-30069 InnoDB: Trying to write ... bytes at ... outside the bounds of the file ...
- Closed
-
MDEV-9663 InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIX, or !cursor->index->is_committed()
- Closed
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
- Closed
-
MDEV-26326 MDEV-24626 (remove synchronous page0 write) seems to cause mariabackup to skip valid ibd file.
- Closed