mariadb/storage
Thirunarayanan Balathandayuthapani f8cf493290 MDEV-34898 Doublewrite recovery of innodb_checksum_algorithm=full_crc32 encrypted pages does not work
- InnoDB fails to recover the full crc32 encrypted page from
doublewrite buffer. The reason is that buf_dblwr_t::recover()
fails to identify the space id from the page because the page has
been encrypted from FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION bytes.

Fix:
===
buf_dblwr_t::recover(): preserve any pages whose space_id
does not match a known tablespace. These could be encrypted pages
of tablespaces that had been created with
innodb_checksum_algorithm=full_crc32.

buf_page_t::read_complete(): If the page looks corrupted and the
tablespace is encrypted and in full_crc32 format, try to
restore the page from doublewrite buffer.

recv_dblwr_t::recover_encrypted_page(): Find the page which
has the same page number and try to decrypt the page using
space->crypt_data. After decryption, compare the space id.
Write the recovered page back to the file.
2025-01-07 19:33:56 +05:30
..
archive Merge 10.5 into 10.6 2024-06-24 13:09:47 +03:00
blackhole MDEV-34348: my_hash_get_key fixes 2024-11-23 08:14:22 -07:00
columnstore Merge branch '10.5' into 10.6 2024-09-06 13:52:57 +10:00
connect Merge branch '10.5' into '10.6' 2024-12-03 13:08:12 +01:00
csv MDEV-34348: Miscellaneous fixes 2024-11-23 08:14:23 -07:00
example Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
federated Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
federatedx Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
heap MDEV-35469 Heap tables are calling mallocs to often 2025-01-05 16:40:11 +02:00
innobase MDEV-34898 Doublewrite recovery of innodb_checksum_algorithm=full_crc32 encrypted pages does not work 2025-01-07 19:33:56 +05:30
maria Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
mroonga Merge 10.5 into 10.6 2024-12-11 14:46:43 +02:00
myisam Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
myisammrg Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
oqgraph Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
perfschema Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
rocksdb Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
sequence MDEV-33746 Supply missing override markings 2024-06-20 11:32:13 -04:00
sphinx Merge 10.5 into 10.6 2024-11-29 12:37:46 +02:00
spider Merge branch '10.5' into 10.6 2024-12-17 11:06:09 +11:00
test_sql_discovery Merge 10.5 into 10.6 2024-06-24 13:09:47 +03:00