[MDEV-26907] innochecksum fails to validate full_crc32 for compressed or encrypted tables Created: 2021-10-26  Updated: 2023-10-12

Status: Open
Project: MariaDB Server
Component/s: Scripts & Clients
Affects Version/s: 10.4, 10.5, 10.6, 10.7
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Vladislav Lesin
Resolution: Unresolved Votes: 0
Labels: regression-10.4

Issue Links:
Relates
relates to MDEV-12933 sort out the compression library chaos Closed

 Description   

The innodb_checksum_algorithm=full_crc32 that was introduced in 10.4 and made the default in 10.5 (MDEV-19534) was not fully implemented in the innochecksum tool.

  • Apparently, no checksum mismatch will be noticed for page_compressed tables, except for uncompressed pages (such as page 0).
  • The page type summary will report all full_crc32 pages as being of "other" type.

In the full_crc32 format, we can validate the page checksum without decrypting or decompressing the page. Therefore, we can (and should) validate all full_crc32 checksums, even if the table is encrypted or compressed.

Note: There is no full_crc32 format for ROW_FORMAT=COMPRESSED tables. They always use an Adler32 checksum or an exclusive OR of two CRC-32C checksums.



 Comments   
Comment by Ian Gilfillan [ 2023-10-12 ]

See query of user affected by this at https://mariadb.com/kb/en/migrating-from-innodb-checksum-to-crc32-checksum/

Generated at Thu Feb 08 09:48:51 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.