Optimize tablespace loading during prepare
General
Escalation
General
Escalation
Description
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.
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.