[MDEV-24719] backport MDEV-24705 from 10.5 to 10.2, 10.3, 10.4 Created: 2021-01-28  Updated: 2022-04-04  Resolved: 2022-04-04

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: N/A

Type: Task Priority: Critical
Reporter: Vladislav Lesin Assignee: Vladislav Lesin
Resolution: Won't Fix Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-12353 Efficient InnoDB redo log record format Closed
relates to MDEV-24705 add check that LSN of the last skippe... Closed
relates to MDEV-24197 Prepare step of backup failing on lar... Closed
relates to MDEV-25014 insert log record is not written for ... Closed

 Description   

In 10.5 log records are parsed to find mtr commit LSN, then this LSN is stored in record object and used to compare it with FIL_PAGE_LSN, in 10.2 such preliminary parsing absent, and that is why there is nothing to compare. To fix it we need to implement such mtr commit LSN search for 10.2 too.



 Comments   
Comment by Marko Mäkelä [ 2021-01-28 ]

In 10.5, stress tests of MDEV-24705 proved that MDEV-12353 guarantees that recovered pages will carry exactly the same FIL_PAGE_LSN as they would have if the server had not been killed.

Before MDEV-12353, recovery would write to FIL_PAGE_LSN the end offset of the individual redo log record, instead of writing the mtr_t::commit_lsn(). Implementing the MDEV-24705 consistency check in older versions may involve some considerable execution time overhead. If benchmarks indicate that it is the case, the check might have to be disabled by default.

Generated at Thu Feb 08 09:32:09 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.