mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-18661 loading the audit plugin causes performance regression.
Plugin fixed to not lock the LOCK_operations when not active. Server fixed to lock the LOCK_plugin less - do it once per thread and then only if a plugin was installed/uninstalled.
This commit is contained in:
@ -228,6 +228,7 @@ static DYNAMIC_ARRAY plugin_array;
|
||||
static HASH plugin_hash[MYSQL_MAX_PLUGIN_TYPE_NUM];
|
||||
static MEM_ROOT plugin_mem_root;
|
||||
static bool reap_needed= false;
|
||||
volatile int global_plugin_version= 1;
|
||||
|
||||
static bool initialized= 0;
|
||||
ulong dlopen_count;
|
||||
@ -2181,6 +2182,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name,
|
||||
reap_plugins();
|
||||
}
|
||||
err:
|
||||
global_plugin_version++;
|
||||
mysql_mutex_unlock(&LOCK_plugin);
|
||||
if (argv)
|
||||
free_defaults(argv);
|
||||
@ -2327,6 +2329,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
|
||||
}
|
||||
reap_plugins();
|
||||
|
||||
global_plugin_version++;
|
||||
mysql_mutex_unlock(&LOCK_plugin);
|
||||
DBUG_RETURN(error);
|
||||
|
||||
|
Reference in New Issue
Block a user