Commit ddad20c6 authored by zwang28's avatar zwang28 Committed by Vladislav Vaintroub

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.
parent fc2ec257
...@@ -1601,6 +1601,9 @@ int TP_pool_generic::init() ...@@ -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() ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment