mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-31803 InnoDB aborts during recovery when immediate_scrub_data_uncompressed is enabled
Problem: ======== - InnoDB scans the complete redo log to ensure that there is no corruption and to find the end of the log. During this scan, InnoDB saves all the freed ranges, but it doesn't save recovered size. Later, InnoDB recovery applies partial redo logs and IO thread tries to flush the all freed ranges which was noted during previous complete scan of redo logs. Fix: ==== InnoDB should store the freed pages only when InnoDB stores the redo log records.
This commit is contained in:
parent
732d1ec3ae
commit
941af1fa58
1 changed files with 2 additions and 1 deletions
|
@ -2747,7 +2747,8 @@ restart:
|
|||
case INIT_PAGE:
|
||||
last_offset= FIL_PAGE_TYPE;
|
||||
free_or_init_page:
|
||||
store_freed_or_init_rec(id, (b & 0x70) == FREE_PAGE);
|
||||
if (store)
|
||||
store_freed_or_init_rec(id, (b & 0x70) == FREE_PAGE);
|
||||
if (UNIV_UNLIKELY(rlen != 0))
|
||||
goto record_corrupted;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue