Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Not a Bug
-
N/A
-
None
Description
The variable mroonga_libgroonga_support_lz4 is documented as OFF by default. In fact, on older versions, e.g. on 10.6, it appears to be system/build-dependent: on builds where lz4 is available it is set to ON by default, otherwise OFF. For example on the latest 10.6 build from buildbot, on Debian-10 it is ON and on SLES-12 it is OFF. When a table with lz4 compression is attempted to be created, if lz4 support is OFF, a warning is issued ("Warning 16506 The column flag 'COMPRESS_LZ4' is unsupported. It is ignored") and the compression is ignored.
However on 10.7 with compression providers, mroonga_libgroonga_support_lz4 is always ON, even on the same SLES-12 which doesn't have lz4 at all. And on Debian-10 it is ON regardless whether the provider is loaded or not. And then, when a table with lz4 compression is attempted to be created, an error ER_PROVIDER_NOT_LOADED occurs instead of the warning described above.
The test case is just running something like
create table test.t1 (a int, b text COMMENT 'FLAGS "COLUMN_SCALAR|COMPRESS_LZ4"') engine = mroonga charset = utf8; |
with a specific combination of the variable and the providers.
Attachments
Issue Links
- is caused by
-
MDEV-12933 sort out the compression library chaos
-
- Closed
-
Isn't it the same in InnoDB and elsewhere? The engine always supports lz4 (and all other compressions can be possibly enabled at compile time). But you'll get an error when you're actually trying to use it if you don't have the provider loaded.