Merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985 into lp:~percona-toolkit-dev/percona-toolkit/release-2.2.11

Proposed by Frank Cizmich
Status: Merged
Approved by: Daniel Nichter
Approved revision: 617
Merged at revision: 619
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985
Merge into: lp:~percona-toolkit-dev/percona-toolkit/release-2.2.11
Diff against target: 34 lines (+5/-5)
1 file modified
bin/pt-stalk (+5/-5)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Review via email: mp+234135@code.launchpad.net

Description of the change

Added SQL_NO_CACHE to the queries that collect information about locks and transactions.
This addresses the problem of the tool generating noise in the processlist with queries awaiting for the cache mutex.

To post a comment you must log in.
Revision history for this message
Daniel Nichter (daniel-nichter) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/pt-stalk'
2--- bin/pt-stalk 2014-08-05 20:37:42 +0000
3+++ bin/pt-stalk 2014-09-10 15:09:23 +0000
4@@ -1001,7 +1001,7 @@
5 }
6
7 lock_waits() {
8- local sql1="SELECT
9+ local sql1="SELECT SQL_NO_CACHE
10 CONCAT('thread ', b.trx_mysql_thread_id, ' from ', p.host) AS who_blocks,
11 IF(p.command = \"Sleep\", p.time, 0) AS idle_in_trx,
12 MAX(TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP)) AS max_wait_time,
13@@ -1013,7 +1013,7 @@
14 GROUP BY who_blocks ORDER BY num_waiters DESC\G"
15 $CMD_MYSQL $EXT_ARGV -e "$sql1"
16
17- local sql2="SELECT
18+ local sql2="SELECT SQL_NO_CACHE
19 r.trx_id AS waiting_trx_id,
20 r.trx_mysql_thread_id AS waiting_thread,
21 TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) AS wait_time,
22@@ -1034,9 +1034,9 @@
23 }
24
25 transactions() {
26- $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G"
27- $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G"
28- $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
29+ $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_TRX\G"
30+ $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G"
31+ $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
32 }
33
34 innodb_status() {

Subscribers

People subscribed via source and target branches

to all changes: