1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-26043: Fix performance_schema instrument "threadpool/group_mutex"

The performance_schema data related to instrument "wait/synch/mutex/threadpool/group_mutex" was incorrect. The root cause is the group_mutex was initialized in thread_group_init before registerd in PSI_register(mutex).
The fix is to put PSI_register before thread_group_init, which ensures the right order.
This commit is contained in:
zwang28
2021-06-29 20:23:29 +08:00
committed by Vladislav Vaintroub
parent fc2ec25733
commit ddad20c63b

View File

@ -1601,6 +1601,9 @@ int TP_pool_generic::init()
sql_print_error("Allocation failed"); sql_print_error("Allocation failed");
DBUG_RETURN(-1); DBUG_RETURN(-1);
} }
PSI_register(mutex);
PSI_register(cond);
PSI_register(thread);
scheduler_init(); scheduler_init();
threadpool_started= true; threadpool_started= true;
for (uint i= 0; i < threadpool_max_size; i++) for (uint i= 0; i < threadpool_max_size; i++)
@ -1614,10 +1617,6 @@ int TP_pool_generic::init()
sql_print_error("Can't set threadpool size to %d",threadpool_size); sql_print_error("Can't set threadpool size to %d",threadpool_size);
DBUG_RETURN(-1); DBUG_RETURN(-1);
} }
PSI_register(mutex);
PSI_register(cond);
PSI_register(thread);
pool_timer.tick_interval= threadpool_stall_limit; pool_timer.tick_interval= threadpool_stall_limit;
start_timer(&pool_timer); start_timer(&pool_timer);
DBUG_RETURN(0); DBUG_RETURN(0);