Optimize tablespace loading during prepare

Description

xtrabackup --prepare after the redo apply phase, loads all tablespaces. ie every IBD is loaded into InnoDB cache as "fil_space_t" object.

For a million tablespaces, this translates to approx 1.5G  memory wasted and the time taken to load 1 Million tablespaces is also wasted.

Currently, by InnoDB Design, it assumes all tablespaces are loaded upfront.  ie a a low level path, it cannot take fil_sys mutex to load tablespace because it would have acquired a lower level latch and the latch level order violation could occur

we also need load tablespaces for purpose of export, incremental backups.

Environment

None

Activity

Show:

Julia Vural January 22, 2025 at 1:26 PM

Unless we hear some reports about it, we will not prioritize this.

Satya Bodapati March 27, 2023 at 12:58 PM

Having said that(above issues), we know upfront, the tablespaces involved in recovery or rollback.

Hence these can be loaded before a trx rollback is initiated.

 

 

Won't Do

Details

Assignee

Reporter

Labels

Needs QA

Yes

Affects versions

Priority

Smart Checklist

Created March 27, 2023 at 12:30 PM
Updated January 22, 2025 at 1:26 PM
Resolved January 22, 2025 at 1:26 PM