MDEV-26774 Compression provider unloading at runtime has no effect but doesn't produce a warning

This commit is contained in:
Sergei Golubchik 2021-10-09 11:07:47 +02:00
parent 867f05ded3
commit a010959a56
3 changed files with 22 additions and 1 deletions

View file

@ -17,6 +17,8 @@ a left(b, 9) length(b)
1 defdefdef 3000
2 ghighighi 30000
uninstall plugin provider_lz4;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
select plugin_name, plugin_status from information_schema.plugins where plugin_name='provider_lz4';
plugin_name plugin_status
provider_lz4 INACTIVE

View file

@ -1267,7 +1267,13 @@ static void plugin_deinitialize(struct st_plugin_int *plugin, bool ref_check)
if (!deinit)
deinit= (plugin_type_init)(plugin->plugin->deinit);
if (!deinit || !deinit(plugin))
if (deinit && deinit(plugin))
{
if (THD *thd= current_thd)
push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
WARN_PLUGIN_BUSY, ER_THD(thd, WARN_PLUGIN_BUSY));
}
else
plugin->state= PLUGIN_IS_UNINITIALIZED; // free to unload
if (ref_check && plugin->ref_count)

View file

@ -10,6 +10,19 @@ connection default;
UNINSTALL SONAME 'ha_rocksdb';
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
Warning 1620 Plugin is busy and will be uninstalled on shutdown
SELECT ENGINE, SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='ROCKSDB';
ENGINE SUPPORT
ROCKSDB NO