-
Christopher Powers authored
The function alloc_and_copy_thd_dynamic_variables() synchronizes session variables with global variables. As of Bug#21840950, it uses the mutex THD::LOCK_thd_sysvar to block remote threads from accessing session vars during updates. With SHOW_COMPATIBILITY_56=OFF, SHOW VARIABLES can cause LOCK_thd_sysvar to be taken twice, first in System_variable::init() and later in alloc_and_copy_thd_dynamic_variables(). System_variables::init() now only acquires LOCK_thd_sysvar if the target thread is not the current thread. perfschema.show_plugin.test is now two tests so that alloc_and_copy_thd_dynamic_variables() can be tested separately with SHOW_COMPATIBILITY_56 = ON and OFF. (cherry picked from commit 8d91476c0b2bc510729a786ab3ba98ef6d28c2aa)
Christopher Powers authoredThe function alloc_and_copy_thd_dynamic_variables() synchronizes session variables with global variables. As of Bug#21840950, it uses the mutex THD::LOCK_thd_sysvar to block remote threads from accessing session vars during updates. With SHOW_COMPATIBILITY_56=OFF, SHOW VARIABLES can cause LOCK_thd_sysvar to be taken twice, first in System_variable::init() and later in alloc_and_copy_thd_dynamic_variables(). System_variables::init() now only acquires LOCK_thd_sysvar if the target thread is not the current thread. perfschema.show_plugin.test is now two tests so that alloc_and_copy_thd_dynamic_variables() can be tested separately with SHOW_COMPATIBILITY_56 = ON and OFF. (cherry picked from commit 8d91476c0b2bc510729a786ab3ba98ef6d28c2aa)
Loading