fut0lst.ic:82:addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA
Description
Environment
Activity
Satya Bodapati October 2, 2024 at 9:53 PM
Hence I mark this as a bug NOT related to reduced lock.
Satya Bodapati October 2, 2024 at 9:53 PM
Wohoo(for now :)) I repeated the same bug with lock-ddl=ON;
Steps to reproduce:
ensure server has two undo tablespaces as shown below:
take full backup
now drop both of them
restart server
this create two undo tablespaces in this ORDER undo_2 first and then undo_1 (and make undo_1 inactive)
now take incremental backup as inc1
now create additional undo tablespaces with the intention to generate page delta on undo_2. So do some transaction and keep them open. also I disable the other undo tablespaces so that undo_2 gets used.
take incremental backup again inc2.
Prepare full → no issues
prepare inc1 → an error message seen as below:
prepare inc2:
Satya Bodapati October 2, 2024 at 10:33 AMEdited
another example how space_ids are reused. I swapped the creation order after restart
Satya Bodapati October 1, 2024 at 4:38 PMEdited
it looks like innodb_init is the normal init to do redo apply.. (after the deltas applied)
Satya Bodapati October 1, 2024 at 4:36 PMEdited
Some more info on sequence:
1. full contains
inc1 contains und002.ibu
inc1 also sees undo_001.ibu with different space_id.
so inc1 will rename undo_001.ibu to tmp_4294967277.ibu
then when it processes undo_002.ibu.meta, it sees that undo_002.ibu is not present and it tries to create with space_id 4294967277
but fil_cache already has spaceid 4294967277 with tmp_4294967277.ibu name. it is still a conflict and it errors out. doesn’t create undo_002.ibu at all
inc2 has
this time because 4294967277 is renamed in previous iteration, undo_002.ibu is created again and it will be successful. This is an empty ibd/ibu file
the end I think, innodb init is called (hmm, apply-log-only isn't called ?) and this rouge/bad undo_002.ibu causes the crash!
Details
Assignee
Satya BodapatiSatya BodapatiReporter
Satya BodapatiSatya BodapatiLabels
Needs QA
YesSprint
NonePriority
Medium
Details
Details
Assignee
Reporter
Labels
Needs QA
Sprint
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist
Open Smart Checklist
Smart Checklist

With reduced lock, incremental preapre of backup fails with assertion failure:
This looks like a case of undo file created by xtrabackup during incremental prepare or incremental prepare forgot to delete old undo file.