Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
N/A
-
None
Description
If a compression provider plugin is uninstalled at runtime, the command succeeds without errors or warnings, but in fact the compression algorithm is still available for table handling or even setting it as a default compression algorithm.
The test plugins.compression_load has this logic, so it must be intentional, and it is probably safer this way – causes less troubles and uncertainties regarding what should happen at runtime in this case. But at least a warning similar to existing "plugin is busy" would be informative. Even better if it were still possible to handle existing tables, but not to create new ones anymore, but it's probably difficult to achieve.
preview-10.7-MDEV-12933-provider-plugins 67a8fca9b7 |
MariaDB [test]> set global innodb_compression_algorithm= snappy; |
ERROR 1231 (42000): Variable 'innodb_compression_algorithm' can't be set to the value of 'snappy' |
|
MariaDB [test]> install soname 'provider_snappy'; |
Query OK, 0 rows affected (0.012 sec)
|
|
MariaDB [test]> uninstall soname 'provider_snappy'; |
Query OK, 0 rows affected (0.012 sec)
|
|
MariaDB [test]> set global innodb_compression_algorithm= snappy;
|
Query OK, 0 rows affected (0.000 sec)
|
|
MariaDB [test]> create table t (a text) page_compressed=1;
|
Query OK, 0 rows affected (0.131 sec)
|
|
MariaDB [test]> insert into t values ('foo'); |
Query OK, 1 row affected (0.015 sec)
|
|
MariaDB [test]> select * from t; |
+------+ |
| a |
|
+------+ |
| foo |
|
+------+ |
1 row in set (0.001 sec) |
Attachments
Issue Links
- is caused by
-
MDEV-12933 sort out the compression library chaos
- Closed