Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.22, 10.3.0, 10.2.9, 10.4.0
Description
Even with the MDEV-12112 fix, Mariabackup seems to fail to verify the pages of page_compressed=1 tables. The reason is that both fil_space_verify_crypt_checksum() and buf_page_is_corrupted() will skip the validation for such pages. We should call fil_page_decompress(), similar to the one that is performed in buf_dblwr_process().
Attachments
Issue Links
- causes
-
MDEV-34772 Overuse of big stackvariables results in stackoverflows
-
- Stalled
-
- relates to
-
MDEV-12112 corruption in encrypted table may be overlooked
-
- Closed
-
-
MDEV-13542 Crashing on a corrupted page is unhelpful
-
- Closed
-
-
MDEV-17638 Improve error message about corruption of encrypted page
-
- Closed
-
-
MDEV-18653 mariabackup.unencrypted_page_compressed failed in buildbot with wrong error
-
- Open
-
There already is a test for which we fail to notice corruption:
./mtr encryption.innodb-force-corruption
It will issue messages about 2 tables to the error log, but not about this one:
Before the follow-up fix to MDEV-12112, no messages were emitted about any of these 3 tables to the error log.
While fixing this, I would suggest fixing the page trailer validation further: if the page trailer is supposed to contain the least significant bits of FIL_PAGE_LSN but fails to do so, then the page should be rejected as invalid.