Merge lp:~percona-dev/percona-server/release-5.1.53-bug693818 into lp:~percona-dev/percona-server/release-5.1.53

Proposed by Alexey Kopytov
Status: Merged
Approved by: Vadim Tkachenko
Approved revision: no longer in the source branch.
Merged at revision: 177
Proposed branch: lp:~percona-dev/percona-server/release-5.1.53-bug693818
Merge into: lp:~percona-dev/percona-server/release-5.1.53
Diff against target: 314 lines (+87/-40)
12 files modified
mysql-test/slow_extended.patch/grep.inc (+16/-0)
mysql-test/slow_extended.patch/percona_slow_extended-control_global_slow.test (+5/-2)
mysql-test/slow_extended.patch/percona_slow_extended-log_slow_filter.test (+4/-2)
mysql-test/slow_extended.patch/percona_slow_extended-log_slow_verbosity.test (+4/-2)
mysql-test/slow_extended.patch/percona_slow_extended-long_query_time.test (+4/-2)
mysql-test/slow_extended.patch/percona_slow_extended-microseconds_in_slow_extended.test (+8/-5)
mysql-test/slow_extended.patch/percona_slow_extended-min_examined_row_limit.test (+4/-2)
mysql-test/slow_extended.patch/percona_slow_extended-slave_innodb_stats.test (+3/-1)
mysql-test/slow_extended.patch/percona_slow_extended-slave_statements-and-use_global_long_query_time.test (+6/-6)
mysql-test/slow_extended.patch/percona_slow_extended-slave_statements.test (+6/-6)
mysql-test/slow_extended.patch/percona_slow_extended-use_global_long_query_time.test (+3/-2)
slow_extended.patch (+24/-10)
To merge this branch: bzr merge lp:~percona-dev/percona-server/release-5.1.53-bug693818
Reviewer Review Type Date Requested Status
Vadim Tkachenko Approve
Review via email: mp+44812@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Vadim Tkachenko (vadim-tk) wrote :

please propose the merge to lp:percona-server ( 5.1.54) also

review: Needs Fixing
Revision history for this message
Oleg Tsarev (tsarev) wrote :
Revision history for this message
Vadim Tkachenko (vadim-tk) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'mysql-test/slow_extended.patch/grep.inc'
--- mysql-test/slow_extended.patch/grep.inc 1970-01-01 00:00:00 +0000
+++ mysql-test/slow_extended.patch/grep.inc 2010-12-28 22:47:52 +0000
@@ -0,0 +1,16 @@
1perl;
2
3 $file = $ENV{'grep_file'};
4 $pattern = $ENV{'grep_pattern'};
5
6 open(FILE, "$file")
7 or die("Cannot open file $file: $!\n");
8
9 $lines = 0;
10 while(<FILE>) {
11 $lines++ if (/$pattern/);
12 }
13 print "$lines\n";
14
15 close(FILE);
16EOF
017
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-control_global_slow.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-control_global_slow.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-control_global_slow.test 2010-12-28 22:47:52 +0000
@@ -5,5 +5,8 @@
5SELECT sleep(2);5SELECT sleep(2);
6set global use_global_log_slow_control=none;6set global use_global_log_slow_control=none;
7set global log_slow_verbosity=microtime;7set global log_slow_verbosity=microtime;
8let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-control_global_slow.log | grep "No InnoDB statistics available for this query" | wc -l;8
9exec $cmd;9--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-control_global_slow.log
10--let grep_pattern = No InnoDB statistics available for this query
11
12--source include/grep.inc
1013
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-log_slow_filter.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-log_slow_filter.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-log_slow_filter.test 2010-12-28 22:47:52 +0000
@@ -26,5 +26,7 @@
26drop table if exists t;26drop table if exists t;
27--enable_warnings27--enable_warnings
2828
29let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-log_slow_filter.log | grep Query_time | wc -l;29--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-log_slow_filter.log
30exec $cmd;30--let grep_pattern = Query_time
31
32--source include/grep.inc
3133
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-log_slow_verbosity.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-log_slow_verbosity.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-log_slow_verbosity.test 2010-12-28 22:47:52 +0000
@@ -6,5 +6,7 @@
66
7SELECT sleep(2);7SELECT sleep(2);
88
9let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-log_slow_verbosity.log | grep "No InnoDB statistics available for this query" | wc -l;9--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-log_slow_verbosity.log
10exec $cmd;10--let grep_pattern = No InnoDB statistics available for this query
11
12--source include/grep.inc
1113
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-long_query_time.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-long_query_time.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-long_query_time.test 2010-12-28 22:47:52 +0000
@@ -12,5 +12,7 @@
1212
13set long_query_time=2;13set long_query_time=2;
1414
15let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-long_query_time.log | grep Query_time | wc -l;15--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-long_query_time.log
16exec $cmd;16--let grep_pattern = Query_time
17--source include/grep.inc
18
1719
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-microseconds_in_slow_extended.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-microseconds_in_slow_extended.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-microseconds_in_slow_extended.test 2010-12-28 22:47:52 +0000
@@ -8,8 +8,11 @@
88
9set global slow_query_log_microseconds_timestamp=OFF;9set global slow_query_log_microseconds_timestamp=OFF;
1010
11let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-microseconds_in_slow_query_log.log | grep -E '# Time: [0-9]+[ ]+[0-9]+:[0-\9]+:[0-9]+.[0-9]+' | wc -l;11--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-microseconds_in_slow_query_log.log
12exec $cmd;12--let grep_pattern = # Time: [0-9]+[ ]+[0-9]+:[0-9]+:[0-9]+.[0-9]+
1313--source include/grep.inc
14let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-microseconds_in_slow_query_log.log | grep -E '# Time: [0-9]+[ ]+[0-9]+:[0-\9]+:[0-9]+' | wc -l;14
15exec $cmd;15--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-microseconds_in_slow_query_log.log
16--let grep_pattern = # Time: [0-9]+[ ]+[0-9]+:[0-9]+:[0-9]+
17--source include/grep.inc
18
1619
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-min_examined_row_limit.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-min_examined_row_limit.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-min_examined_row_limit.test 2010-12-28 22:47:52 +0000
@@ -26,5 +26,7 @@
26drop table if exists t;26drop table if exists t;
27--enable_warnings27--enable_warnings
2828
29let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-min_examined_row_limit.log | grep Query_time | wc -l;29--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-min_examined_row_limit.log
30exec $cmd;30--let grep_pattern = Query_time
31--source include/grep.inc
32
3133
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-slave_innodb_stats.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-slave_innodb_stats.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-slave_innodb_stats.test 2010-12-28 22:47:52 +0000
@@ -41,4 +41,6 @@
41DROP TABLE IF EXISTS t;41DROP TABLE IF EXISTS t;
42sync_slave_with_master;42sync_slave_with_master;
4343
44exec cat $MYSQLTEST_VARDIR/mysqld.2/mysqld-slow.log | grep InnoDB_IO_r_ops | wc -l;44--let grep_file = $MYSQLTEST_VARDIR/mysqld.2/mysqld-slow.log
45--let grep_pattern = InnoDB_IO_r_ops
46--source include/grep.inc
4547
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-slave_statements-and-use_global_long_query_time.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-slave_statements-and-use_global_long_query_time.test 2010-11-18 11:47:03 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-slave_statements-and-use_global_long_query_time.test 2010-12-28 22:47:52 +0000
@@ -78,11 +78,11 @@
78-- echo # Analyse master slow_query_log78-- echo # Analyse master slow_query_log
79let $i=5;79let $i=5;
80let $k=1;80let $k=1;
81let $cmd=cat ./var/mysqld.1/data/percona_log_slow_slave_statements-master.log | grep;
82while($i)81while($i)
83{82{
84 let $current_cmd = $cmd "INSERT INTO t VALUES ($k)" | wc -l;83 --let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_log_slow_slave_statements-master.log
85 exec $current_cmd;84 --let grep_pattern = INSERT INTO t VALUES \($k\)
85 --source include/grep.inc
86 dec $i;86 dec $i;
87 inc $k;87 inc $k;
88}88}
@@ -90,11 +90,11 @@
90-- echo # Analyse slave slow_query_log90-- echo # Analyse slave slow_query_log
91let $i=5;91let $i=5;
92let $k=1;92let $k=1;
93let $cmd=cat ./var/mysqld.2/data/percona_log_slow_slave_statements-slave.log | grep;
94while($i)93while($i)
95{94{
96 let $current_cmd = $cmd "INSERT INTO t VALUES ($k)" | wc -l;95 --let grep_file = $MYSQLTEST_VARDIR/mysqld.2/data/percona_log_slow_slave_statements-slave.log
97 exec $current_cmd;96 --let grep_pattern = INSERT INTO t VALUES \($k\)
97 --source include/grep.inc
98 dec $i;98 dec $i;
99 inc $k;99 inc $k;
100}100}
101101
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-slave_statements.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-slave_statements.test 2010-11-18 12:19:15 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-slave_statements.test 2010-12-28 22:47:52 +0000
@@ -125,11 +125,11 @@
125-- echo # Analyse master slow_query_log125-- echo # Analyse master slow_query_log
126let $i=7;126let $i=7;
127let $k=1;127let $k=1;
128let $cmd=cat ./var/mysqld.1/data/percona_log_slow_slave_statements-master.log | grep;
129while($i)128while($i)
130{129{
131 let $current_cmd = $cmd "INSERT INTO t VALUES ($k)" | wc -l;130 --let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_log_slow_slave_statements-master.log
132 exec $current_cmd;131 --let grep_pattern = INSERT INTO t VALUES \($k\)
132 --source include/grep.inc
133 dec $i;133 dec $i;
134 inc $k;134 inc $k;
135}135}
@@ -137,11 +137,11 @@
137-- echo # Analyse slave slow_query_log137-- echo # Analyse slave slow_query_log
138let $i=7;138let $i=7;
139let $k=1;139let $k=1;
140let $cmd=cat ./var/mysqld.2/data/percona_log_slow_slave_statements-slave.log | grep;
141while($i)140while($i)
142{141{
143 let $current_cmd = $cmd "INSERT INTO t VALUES ($k)" | wc -l;142 --let grep_file = $MYSQLTEST_VARDIR/mysqld.2/data/percona_log_slow_slave_statements-slave.log
144 exec $current_cmd;143 --let grep_pattern = INSERT INTO t VALUES \($k\)
144 --source include/grep.inc
145 dec $i;145 dec $i;
146 inc $k;146 inc $k;
147}147}
148148
=== modified file 'mysql-test/slow_extended.patch/percona_slow_extended-use_global_long_query_time.test'
--- mysql-test/slow_extended.patch/percona_slow_extended-use_global_long_query_time.test 2010-12-06 03:50:48 +0000
+++ mysql-test/slow_extended.patch/percona_slow_extended-use_global_long_query_time.test 2010-12-28 22:47:52 +0000
@@ -14,8 +14,9 @@
14set global long_query_time=2;14set global long_query_time=2;
15set global use_global_long_query_time=0;15set global use_global_long_query_time=0;
1616
17let $cmd = cat $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-use_global_long_query_time.log | grep Query_time | wc -l;17--let grep_file = $MYSQLTEST_VARDIR/mysqld.1/data/percona_slow_query_log-use_global_long_query_time.log
18exec $cmd;18--let grep_pattern = Query_time
19--source include/grep.inc
1920
20show global variables like 'use_global_log_slow_control';21show global variables like 'use_global_log_slow_control';
21show global variables like 'use_global_long_query_time';22show global variables like 'use_global_long_query_time';
2223
=== modified file 'slow_extended.patch'
--- slow_extended.patch 2010-11-26 11:54:21 +0000
+++ slow_extended.patch 2010-12-28 22:47:52 +0000
@@ -195,7 +195,7 @@
195 }195 }
196 else196 else
197 {197 {
198@@ -1010,8 +1026,20 @@198@@ -1010,8 +1026,21 @@
199 query_length= command_name[thd->command].length;199 query_length= command_name[thd->command].length;
200 }200 }
201 201
@@ -203,6 +203,7 @@
203+ {203+ {
204+ thd->sent_row_count= thd->examined_row_count= 0;204+ thd->sent_row_count= thd->examined_row_count= 0;
205+ thd->row_count= 0;205+ thd->row_count= 0;
206+ thd->orig_row_count= 0;
206+ thd->bytes_sent_old= thd->status_var.bytes_sent;207+ thd->bytes_sent_old= thd->status_var.bytes_sent;
207+ thd->tmp_tables_used= thd->tmp_tables_disk_used= 0;208+ thd->tmp_tables_used= thd->tmp_tables_disk_used= 0;
208+ thd->tmp_tables_size= 0;209+ thd->tmp_tables_size= 0;
@@ -217,7 +218,7 @@
217 user_host_buff, user_host_len,218 user_host_buff, user_host_len,
218 query_utime, lock_utime, is_command,219 query_utime, lock_utime, is_command,
219 query, query_length) || error;220 query, query_length) || error;
220@@ -2280,12 +2308,13 @@221@@ -2280,12 +2309,13 @@
221 TRUE - error occured222 TRUE - error occured
222 */223 */
223 224
@@ -232,7 +233,7 @@
232 bool error= 0;233 bool error= 0;
233 DBUG_ENTER("MYSQL_QUERY_LOG::write");234 DBUG_ENTER("MYSQL_QUERY_LOG::write");
234 235
235@@ -2307,17 +2336,28 @@236@@ -2307,17 +2337,28 @@
236 237
237 if (!(specialflag & SPECIAL_SHORT_LOG_FORMAT))238 if (!(specialflag & SPECIAL_SHORT_LOG_FORMAT))
238 {239 {
@@ -268,7 +269,7 @@
268 269
269 /* Note that my_b_write() assumes it knows the length for this */270 /* Note that my_b_write() assumes it knows the length for this */
270 if (my_b_write(&log_file, (uchar*) buff, buff_len))271 if (my_b_write(&log_file, (uchar*) buff, buff_len))
271@@ -2335,12 +2375,64 @@272@@ -2335,12 +2376,64 @@
272 sprintf(query_time_buff, "%.6f", ulonglong2double(query_utime)/1000000.0);273 sprintf(query_time_buff, "%.6f", ulonglong2double(query_utime)/1000000.0);
273 sprintf(lock_time_buff, "%.6f", ulonglong2double(lock_utime)/1000000.0);274 sprintf(lock_time_buff, "%.6f", ulonglong2double(lock_utime)/1000000.0);
274 if (my_b_printf(&log_file,275 if (my_b_printf(&log_file,
@@ -284,7 +285,7 @@
284- (ulong) thd->examined_row_count) == (uint) -1)285- (ulong) thd->examined_row_count) == (uint) -1)
285+ (ulong) thd->examined_row_count,286+ (ulong) thd->examined_row_count,
286+ ((long) thd->row_count_func > 0 ) ? (ulong) thd->row_count_func : 0,287+ ((long) thd->row_count_func > 0 ) ? (ulong) thd->row_count_func : 0,
287+ (ulong) thd->row_count,288+ thd->row_count - thd->orig_row_count + 1,
288+ (ulong) (thd->status_var.bytes_sent - thd->bytes_sent_old),289+ (ulong) (thd->status_var.bytes_sent - thd->bytes_sent_old),
289+ (ulong) thd->tmp_tables_used,290+ (ulong) thd->tmp_tables_used,
290+ (ulong) thd->tmp_tables_disk_used,291+ (ulong) thd->tmp_tables_disk_used,
@@ -1079,7 +1080,7 @@
1079 class sys_var_thd_storage_engine :public sys_var_thd1080 class sys_var_thd_storage_engine :public sys_var_thd
1080 {1081 {
1081 protected:1082 protected:
1082@@ -1466,3 +1540,10 @@1083@@ -1466,3 +1542,10 @@
1083 bool process_key_caches(process_key_cache_t func);1084 bool process_key_caches(process_key_cache_t func);
1084 void delete_elements(I_List<NAMED_LIST> *list,1085 void delete_elements(I_List<NAMED_LIST> *list,
1085 void (*free_element)(const char*, uchar*));1086 void (*free_element)(const char*, uchar*));
@@ -1287,6 +1288,18 @@
1287 /* <> 0 if we are inside of trigger or stored function. */1288 /* <> 0 if we are inside of trigger or stored function. */
1288 uint in_sub_stmt;1289 uint in_sub_stmt;
1289 /* TRUE when the current top has SQL_LOG_BIN ON */1290 /* TRUE when the current top has SQL_LOG_BIN ON */
1291@@ -1777,6 +1817,11 @@
1292 create_sort_index(); may differ from examined_row_count.
1293 */
1294 ulong row_count;
1295+ /*
1296+ Original row_count value at the start of query execution
1297+ (used by the slow_extended patch).
1298+ */
1299+ ulong orig_row_count;
1300 pthread_t real_id; /* For debugging */
1301 my_thread_id thread_id;
1302 uint tmp_table, global_read_lock;
1290diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc1303diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc
1291--- a/sql/sql_connect.cc 2010-08-04 02:24:34.000000000 +09001304--- a/sql/sql_connect.cc 2010-08-04 02:24:34.000000000 +0900
1292+++ b/sql/sql_connect.cc 2010-08-27 14:30:34.905058444 +09001305+++ b/sql/sql_connect.cc 2010-08-27 14:30:34.905058444 +0900
@@ -1362,16 +1375,17 @@
1362 /*1375 /*
1363 Do not log administrative statements unless the appropriate option is1376 Do not log administrative statements unless the appropriate option is
1364 set.1377 set.
1365@@ -2085,6 +2122,8 @@1378@@ -2085,6 +2122,9 @@
1366 context.resolve_in_table_list_only(select_lex->1379 context.resolve_in_table_list_only(select_lex->
1367 table_list.first);1380 table_list.first);
1368 1381
1369+ /* Reset the counter at all cases for the extended slow query log */1382+ /* Save the original row_count value for extended stats in slow query log */
1370+ thd->row_count= 1;1383+ thd->orig_row_count= thd->row_count;
1384+
1371 /*1385 /*
1372 Reset warning count for each query that uses tables1386 Reset warning count for each query that uses tables
1373 A better approach would be to reset this for any commands1387 A better approach would be to reset this for any commands
1374@@ -5800,6 +5839,21 @@1388@@ -5800,6 +5840,21 @@
1375 thd->rand_used= 0;1389 thd->rand_used= 0;
1376 thd->sent_row_count= thd->examined_row_count= 0;1390 thd->sent_row_count= thd->examined_row_count= 0;
1377 1391

Subscribers

People subscribed via source and target branches

to all changes: