mirror of
https://github.com/MariaDB/server.git
synced 2025-03-31 04:15:33 +02:00

When the first attempt of XA ROLLBACK is expected to fail, some recovered changes could be written back through the doublewrite buffer. Should that happen, the next recovery attempt (after mangling the data file t1.ibd further) could fail because no copy of the affected pages would be available in the doublewrite buffer. To prevent this from happening, ensure that the doublewrite buffer will not be used and no log checkpoint occurs during the previous failed recovery attempt. Also, let a successful XA ROLLBACK serve the additional purpose of freeing a BLOB page and therefore rewriting page 0, which we must then be able to recover despite induced corruption. In the last restart step, we will tolerate an unexpected checkpoint, because one is frequently occurring on FreeBSD and AIX, despite our efforts to force a buffer pool flush before each "no checkpoint" section.
9 lines
237 B
Text
9 lines
237 B
Text
[strict_crc32]
|
|
--innodb-checksum-algorithm=strict_crc32
|
|
--innodb-use-atomic-writes=0
|
|
--innodb-undo-tablespaces=0
|
|
|
|
[strict_full_crc32]
|
|
--innodb-checksum-algorithm=strict_full_crc32
|
|
--innodb-use-atomic-writes=0
|
|
--innodb-undo-tablespaces=0
|