mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
a4bccefb11
In rare cases, both listener and worker can do poll at the same time (one of them will return events, another one no events) Fix test query to account for it.
41 lines
1.9 KiB
Text
41 lines
1.9 KiB
Text
source include/not_embedded.inc;
|
|
|
|
let $have_plugin = `SELECT COUNT(*) FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_STATUS='ACTIVE' AND PLUGIN_NAME = 'THREAD_POOL_GROUPS'`;
|
|
if(!$have_plugin)
|
|
{
|
|
--skip Need thread_pool_groups plugin
|
|
}
|
|
|
|
#I_S.THREAD_POOL_GROUPS
|
|
DESC INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT COUNT(*)=@@thread_pool_size FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT SUM(CONNECTIONS) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT SUM(THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT SUM(ACTIVE_THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT SUM(QUEUE_LENGTH) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
SELECT SUM(IS_STALLED) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
|
|
|
# I_S.THREAD_POOL_QUEUES
|
|
DESC INFORMATION_SCHEMA.THREAD_POOL_QUEUES;
|
|
#Todo - figure out how to populate queue with debug test
|
|
|
|
# I_S.THREAD_POOL_STATS
|
|
DESC INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
# The following query does not reliably give results, after FLUSH
|
|
# so if the test runs with --repeat, it would fail
|
|
#SELECT SUM(THREAD_CREATIONS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
--disable_ps_protocol
|
|
FLUSH THREAD_POOL_STATS;
|
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) BETWEEN 2 AND 3 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
|
--enable_ps_protocol
|
|
|
|
#I_S.THREAD_POOL_WAITS
|
|
DESC INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
|
SELECT REASON FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
|
SELECT SLEEP(0.01);
|
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
|
FLUSH THREAD_POOL_WAITS;
|