[MDEV-30631] System variables metadata shouldn't show values of INNODB_COMPRESSION_ALGORITHM that can't be set Created: 2023-02-10 Updated: 2023-06-08 Resolved: 2023-04-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.6 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Daniel Lenski | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
See The INFORMATION_SCHEMA.SYSTEM_VARIABLES table contains a misleading ENUM_VALUE_LIST for INNODB_COMPRESSION_ALGORITHM. It lists algorithms that are (in principle) supported by MariaDB but (in reality) not compiled into this build. Here is an example on Amazon RDS MariaDB 10.6.11, which is built to support zlib, lzma, and none, but not other compression algorithms: System variable metadata says that any of the following values are supported: none,zlib,lz4,lzo,lzma,bzip2,snappy
But trying to set not-compiled-in values causes an error:
— Problem: The list of "allowed values" are not all allowed. In order to determine the actually allowed values, you have to test them one by one, and see which ones don't error out. Solution: The code to populate the information_schema metadata tables/views should be updated to list only the allowed values that can actually be set. |
| Comments |
| Comment by Sergei Golubchik [ 2023-02-28 ] | ||||||||||||||||||
|
This is easy to fix, list only complied-in algorithms, but only in 10.6. 10.7+ have this concept of "compression provider plugins", and InnoDB compiles in support for all compression algorithms, but what you can actually use depends on the loaded provider plugins, and this can change even at runtime. There will be no easy way for InnoDB to know what provider plugins are loaded and it'd be even more difficult to modify the set of supported algorithms on the fly. Considering that I don't think we should fix it even in 10.6 | ||||||||||||||||||
| Comment by Robin Newhouse [ 2023-06-08 ] | ||||||||||||||||||
|
I am able to show which compression algorithms are complied in the binary with:
Note: zlib does not show up. |