[MDEV-21216] InnoDB performs dirty read of TRX_SYS page before crash recovery Created: 2019-12-04  Updated: 2019-12-04  Resolved: 2019-12-04

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 5.5, 10.0, 10.1, 10.2, 10.3, 10.4, 10.5
Fix Version/s: 10.5.1

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: recovery

Issue Links:
Blocks
blocks MDEV-14481 Execute InnoDB crash recovery in the ... Closed
blocks MDEV-19229 Allow innodb_undo_tablespaces to be c... Closed

 Description   

InnoDB startup is discovering undo tablespaces in a dirty way. It is reading a possibly stale copy of the TRX_SYS page before processing any redo log records.

A sign of this problem is the buf_pool_invalidate() call in innobase_start_or_create_for_mysql(). It should not be needed at all, and instead, in recv_recovery_from_checkpoint_start() we should assert that the buffer pool is empty before starting to apply redo log records.


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