Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.1(EOL)
Description
MariaDB [test]> show status like 'uptime';
|
+---------------+-------+
|
| Variable_name | Value |
|
+---------------+-------+
|
| Uptime | 119 |
|
+---------------+-------+
|
1 row in set (0.00 sec)
|
|
MariaDB [test]> show processlist ;
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
| 3 | root | localhost:47560 | test | Sleep | 36680651 | | NULL | 0.000 |
|
| 4 | root | localhost:47561 | test | Query | 94 | init | show processlist | 0.000 |
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
2 rows in set (0.00 sec)
|
|
MariaDB [test]> show processlist ;
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
| 3 | root | localhost:47560 | test | Sleep | 44551816 | | NULL | 0.000 |
|
| 4 | root | localhost:47561 | test | Query | 78 | init | show processlist | 0.000 |
|
+----+------+-----------------+------+---------+----------+-------+------------------+----------+
|
2 rows in set (0.00 sec)
|
No need to do anything special, just start the server, open a couple of connections and run show processlist a few times.
The regression was introduced by the following commit:
commit 8f603bcbcac4a9091b6adbca3fd3655a947e759a 2bc6e29afeea374aa0ef4bc36c7a7b649c20d959
|
Author: Sergey Vojtovich <svoj@mariadb.org>
|
Date: Wed Jun 17 18:55:38 2015 +0400
|
|
MDEV-7952 - clock_gettime() takes 0.24% in OLTP RO
|
|
Initialize abs_timeout when it is about to be used. This saves one my_hrtime()
|
call on hot path (when we acquire MDL lock without waiting).
|
|
When filling I_S.PROCESSLIST use THD::start_utime/THD::utime_after_query instead
|
of THD::start_time. This allows us to save 2 clock_gettime() calls.
|
|
Overhead change:
|
__clock_gettime 0.13% -> 0.11% (122 -> 76 calls per OLTP RO transaction)
|
my_interval_timer 0.07% -> 0.06%
|
my_hrtime 0.04% -> 0.01%
|
Attachments
Issue Links
- links to