[MDEV-31473] Wrong information about innodb_checksum_algorithm in the information_schema.SYSTEM_VARIABLES Created: 2023-06-13  Updated: 2023-08-14  Resolved: 2023-08-14

Status: Closed
Project: MariaDB Server
Component/s: Information Schema, Storage Engine - InnoDB
Affects Version/s: 10.6.9, 10.6.12, 10.6.15
Fix Version/s: 10.6.16, 10.10.7, 10.11.6, 11.0.4, 11.1.3, 11.2.2

Type: Bug Priority: Major
Reporter: Valerii Kravchuk Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-25105 Remove innodb_checksum_algorithm valu... Closed

 Description   

Looks like the content of the information_schema.SYSTEM_VARIABLES is NOT properly updated in 10.6, so it lists invalid values like NONE or STRICT_NONE, or STRICT_INNODB that are no longer accepted. Consider the following test:

Yuliyas-Air:maria10.6 Valerii$ bin/mysql test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.6.15-MariaDB MariaDB Server
 
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MariaDB [test]> SELECT VARIABLE_COMMENT FROM information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='innodb_checksum_algorithm'\G
*************************** 1. row ***************************
VARIABLE_COMMENT: The algorithm InnoDB uses for page checksumming. Possible values are FULL_CRC32 for new files, always use CRC-32C; for old, see CRC32 below; STRICT_FULL_CRC32 for new files, always use CRC-32C; for old, see STRICT_CRC32 below; CRC32 write crc32, allow any of the other checksums to match when reading; STRICT_CRC32 write crc32, do not allow other algorithms to match when reading; INNODB write a software calculated checksum, allow any other checksums to match when reading; STRICT_INNODB write a software calculated checksum, do not allow other algorithms to match when reading; NONE write a constant magic number, do not do any checksum verification when reading; STRICT_NONE write a constant magic number, do not allow values other than that magic number when reading; Files updated when this option is set to crc32 or strict_crc32 will not be readable by MariaDB versions older than 10.0.4; new files created with full_crc32 are readable by MariaDB 10.4.3+
1 row in set (0.026 sec)
 
MariaDB [test]> set global innodb_checksum_algorithm = none;
ERROR 1231 (42000): Variable 'innodb_checksum_algorithm' can't be set to the value of 'none'
MariaDB [test]> set global innodb_checksum_algorithm = strict_none;
ERROR 1231 (42000): Variable 'innodb_checksum_algorithm' can't be set to the value of 'strict_none'
MariaDB [test]> set global innodb_checksum_algorithm = strict_innodb;
ERROR 1231 (42000): Variable 'innodb_checksum_algorithm' can't be set to the value of 'strict_innodb'
MariaDB [test]> set global innodb_checksum_algorithm = strict_full_crc32;
Query OK, 0 rows affected (0.000 sec)



 Comments   
Comment by Marko Mäkelä [ 2023-08-11 ]

This is a bug against the documentation. MDEV-25105 had not been correctly documented.

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