Merge lp:~tsarev/percona-server/5.1_fix_bug_838725 into lp:percona-server/5.1

Proposed by Oleg Tsarev
Status: Superseded
Proposed branch: lp:~tsarev/percona-server/5.1_fix_bug_838725
Merge into: lp:percona-server/5.1
Diff against target: 437 lines (+197/-50)
6 files modified
patches/bug53761.patch (+63/-0)
patches/innodb_bug47167_test_fix.patch (+0/-8)
patches/innodb_kill_idle_transaction.patch (+34/-29)
patches/innodb_swap_builtin_plugin.patch (+11/-0)
patches/mysql-test.diff (+11/-4)
patches/slow_extended.patch (+78/-9)
To merge this branch: bzr merge lp:~tsarev/percona-server/5.1_fix_bug_838725
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Alexey Kopytov Pending
Review via email: mp+78238@code.launchpad.net

This proposal supersedes a proposal from 2011-09-29.

This proposal has been superseded by a proposal from 2011-10-08.

Description of the change

This is MP with cumulative fixes of following bugs:
  * bug #838725 - percona_server_variables test doesn't run with "Test requires InnoDB."
  * bug #862378 - main.endspace fails sporadicly (merged to bug53761.patch)
  * bug #832528 - Backport the fix for MySQL bug #53761 to 5.1

========================================

I propose this in single MP, because:
 1) Without revision 300 tests tests on revisions 301 and 302 and 303 will not run
 2) Without 301 and 302 and 303 revision tests will get fails.

========================================

Revision 300:
 1. Fixed bug #838725 - some percona's tests doesn't run after commit number 266 (patch patches/innodb_bug47167_test_fix.patch)
  2. Remove innodb suite from default suites list (mysql-test-run.pl)

========================================

Revision 301:
 Fixed bug #862378 - main.endspace sporaic fails (upstream http://bugs.mysql.com/bug.php?id=62340)

========================================

Revision 302:
  Fixed tests main.index_merge_innodb, main.rowid_order_innodb, main.type_bit_innodb broken on revision number 279 (bug #832528) (according to bug #838725 tests doesn't run on revision number 279).

========================================

Revision 303:
  Fix for tests: percona_server_variables_release, percona_server_variables_debug.
  This tests doesn't run before revision number 300, according to bug #838725

========================================

Jenkins build: http://jenkins.percona.com/view/Percona%20Server%205.1/job/percona-server-5.1-param/158/
(will run later)

========================================

Locally on my Fedora 14 x86_64 both debug and release fine

To post a comment you must log in.
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal
Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

** after your changes have_innodb_plugin.inc is functionally identical to have_innodb.inc. Which means there's no need for s/have_innodb/have_innodb_plugin/ in percona tests
** mtr is just a symlink to mysql-test-run.pl, there's no need to duplicate diff changes
** please revert the "Running test cases" changes. they might be good for debugging, but they don't carry any functional changes, so they can only increase maintenance cost.
** MySQL bug #62340 reported by you is invalid. The difference in results has been introduced by your changes in Percona Server, it has nothing to do with upstream.
** main.index_merge_innodb, main.rowid_order_innodb, main.type_bit_innodb and main.endspace result differences look fishy. I understand that there may be a difference in results between builtin InnoDb and plugin/XtraDB. But those tests used to pass with XtraDB in older Percona Server releases. Isn't it something we should look into instead of just updating .result files? In other words, what's changed in those tests or XtraDB between Percona Server 5.1.55 and 5.1.58 that leads to results being different?
** I would like a link to a Jenkins build on all slaves, not just the centos ones.

review: Needs Fixing
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal

 > ** after your changes have_innodb_plugin.inc is functionally identical to have_innodb.inc. Which means there's no need for s/have_innodb/have_innodb_plugin/ in percona tests

ACK

 > ** mtr is just a symlink to mysql-test-run.pl, there's no need to duplicate diff changes

Unfortunatelly - not a symlink. You can check this by call "make all" and see to the Percona_Server-*-*/mysql-test/".

 > ** please revert the "Running test cases" changes. they might be good for debugging, but they don't carry any functional changes, so they can only increase maintenance cost.

This output very good for analyzing Jenkins logs. I don't see the big increase of maintenance time.
This is useful for me at least. Can we save this?

> ** MySQL bug #62340 reported by you is invalid. The difference in results has been introduced by your changes in Percona Server, it has nothing to do with upstream.

1) Bug #62340 is open yet. Where did you see this bug as "Invalid"?
2) Query " select text1, length(text1) from t1 where text1='teststring' or text1 like
'teststring_%';" has no guarantees for output order. I fix upstream test by "order by"
3) This changes to Percona-Server not is "my". This test doesn't work long time according to bug #838725, and right now start work again.

> ** main.index_merge_innodb, main.rowid_order_innodb, main.type_bit_innodb and main.endspace result differences look fishy. I understand that there may be a difference in results between builtin InnoDb and plugin/XtraDB. But those tests used to pass with XtraDB in older Percona Server releases. Isn't it something we should look into instead of just updating .result files? In other words, what's changed in those tests or XtraDB between Percona Server 5.1.55 and 5.1.58 that leads to results being different?

This is a good question, but I hasn't answer to it. May be ask Yasufumi for that? I will write letter to him.

> ** I would like a link to a Jenkins build on all slaves, not just the centos ones.

When all slaves will work fine, I will run tests on all platforms.

review: Needs Resubmitting
Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

On 05.09.11 19:13, Oleg Tsarev wrote:
> > ** mtr is just a symlink to mysql-test-run.pl, there's no need to duplicate diff changes
>
> Unfortunatelly - not a symlink. You can check this by call "make all" and see to the Percona_Server-*-*/mysql-test/".
>

It is created as a symlink when building from a Bazaar tree. Anyway,
both mtr and mysql-test-run are essentially autogenerated files created
from mysql-test-run.pl (it's just that in tarballs they are copied
rather than symlinked).

So what we should do instead is to remove them when applying the patches
to the tarball. Then they will be created as symlinks to
mysql-test-run.pl when building. It is better than replicating changes
in 3 different files.

Can you report a separate bug for that and submit a separate fix?

> > ** please revert the "Running test cases" changes. they might be good for debugging, but they don't carry any functional changes, so they can only increase maintenance cost.
>
> This output very good for analyzing Jenkins logs. I don't see the big increase of maintenance time.
> This is useful for me at least. Can we save this?
>

You can see the suite names from the logs themselves. Each test is
prefixed with the suite name.

Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

main.index_merge_innodb, main.rowid_order_innodb, main.type_bit_innodb and main.endspace result differences are due to bug53761.patch. So the related changes should be moved to bug53761.patch rather than mysql-test.diff.

review: Needs Fixing
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal

> main.index_merge_innodb, main.rowid_order_innodb, main.type_bit_innodb and
> main.endspace result differences are due to bug53761.patch. So the related
> changes should be moved to bug53761.patch rather than mysql-test.diff.

ACK

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote : Posted in a previous version of this proposal

LGTM.

Please please please in the future submit separate MPs for individual issues. It is not important that some of them depend on others, it makes reviews much more manageable.

review: Approve
Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

  - merge bug62340.patch into bug53761.patch
  - remove changes related to log_slow_admin_statements

review: Needs Fixing
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'patches/bug53761.patch'
2--- patches/bug53761.patch 2011-08-24 11:40:25 +0000
3+++ patches/bug53761.patch 2011-10-08 03:50:27 +0000
4@@ -407,3 +407,66 @@
5 SELECT COUNT(*) FROM
6 (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
7 WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
8+--- a/mysql-test/r/index_merge_innodb.result
9++++ b/mysql-test/r/index_merge_innodb.result
10+@@ -346,7 +346,7 @@
11+ FROM t1
12+ WHERE c = 1 AND b = 1 AND d = 1;
13+ id select_type table type possible_keys key key_len ref rows Extra
14+-1 SIMPLE t1 index_merge c,bd c,bd 5,10 NULL 1 Using intersect(c,bd); Using where; Using index
15++1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where
16+ CREATE TABLE t2 ( a INT )
17+ SELECT a
18+ FROM t1
19+--- a/mysql-test/r/rowid_order_innodb.result
20++++ b/mysql-test/r/rowid_order_innodb.result
21+@@ -15,7 +15,7 @@
22+ (10, 1, 1);
23+ explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
24+ id select_type table type possible_keys key key_len ref rows Extra
25+-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 4 Using sort_union(key1,key2); Using where
26++1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 5 Using sort_union(key1,key2); Using where
27+ select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
28+ pk1 key1 key2
29+ -100 1 1
30+--- a/mysql-test/r/type_bit_innodb.result
31++++ b/mysql-test/r/type_bit_innodb.result
32+@@ -233,7 +233,7 @@
33+ 127 403
34+ explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
35+ id select_type table type possible_keys key key_len ref rows Extra
36+-1 SIMPLE t1 range a a 2 NULL 19 Using where; Using index; Using filesort
37++1 SIMPLE t1 range a a 2 NULL 27 Using where; Using index; Using filesort
38+ select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
39+ a+0 b+0
40+ 44 307
41+--- a/mysql-test/r/endspace.result
42++++ b/mysql-test/r/endspace.result
43+@@ -201,12 +201,12 @@
44+ text1
45+ teststring
46+ teststring
47+-select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
48++select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2;
49+ text1 length(text1)
50+ teststring 11
51+ teststring 10
52+ teststring 11
53+-select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
54++select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2;
55+ text1 length(text1)
56+ teststring 11
57+ teststring 10
58+--- a/mysql-test/t/endspace.test
59++++ b/mysql-test/t/endspace.test
60+@@ -93,8 +93,8 @@
61+ select * from t1 where text1 like 'teststring_%';
62+
63+ # The following gives wrong result in InnoDB
64+-select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
65+-select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
66++select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2;
67++select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2;
68+ select concat('|', text1, '|') from t1 order by text1;
69+ drop table t1;
70+
71
72=== modified file 'patches/innodb_bug47167_test_fix.patch'
73--- patches/innodb_bug47167_test_fix.patch 2011-08-01 17:56:34 +0000
74+++ patches/innodb_bug47167_test_fix.patch 2011-10-08 03:50:27 +0000
75@@ -42,11 +42,3 @@
76
77 # Following are negative tests, all should fail.
78 --disable_warnings
79---- a/mysql-test/include/have_innodb.inc
80-+++ b/mysql-test/include/have_innodb.inc
81-@@ -1,4 +1,4 @@
82--if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
83-+if (`select count(*)>0 from information_schema.plugins where plugin_name like 'xtradb%'`)
84- {
85- --skip Test requires InnoDB.
86- }
87
88=== modified file 'patches/innodb_kill_idle_transaction.patch'
89--- patches/innodb_kill_idle_transaction.patch 2011-09-11 21:53:35 +0000
90+++ patches/innodb_kill_idle_transaction.patch 2011-10-08 03:50:27 +0000
91@@ -60,7 +60,7 @@
92 Implementation of Drop_table_error_handler::handle_error().
93 --- a/storage/innodb_plugin/handler/ha_innodb.cc
94 +++ b/storage/innodb_plugin/handler/ha_innodb.cc
95-@@ -2511,6 +2511,10 @@
96+@@ -2515,6 +2515,10 @@
97
98 innobase_commit_concurrency_init_default();
99
100@@ -71,7 +71,7 @@
101 /* Since we in this module access directly the fields of a trx
102 struct, and due to different headers and flags it might happen that
103 mutex_t has a different size in this module and in InnoDB
104-@@ -11237,6 +11241,48 @@
105+@@ -11241,6 +11245,48 @@
106 return(false);
107 }
108
109@@ -120,7 +120,7 @@
110 static SHOW_VAR innodb_status_variables_export[]= {
111 {"Innodb", (char*) &show_innodb_vars, SHOW_FUNC},
112 {NullS, NullS, SHOW_LONG}
113-@@ -11480,6 +11526,15 @@
114+@@ -11484,6 +11530,15 @@
115 "Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket",
116 NULL, NULL, 500L, 1L, ~0L, 0);
117
118@@ -136,7 +136,7 @@
119 static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,
120 PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR,
121 "Number of file I/O threads in InnoDB.",
122-@@ -11762,6 +11817,7 @@
123+@@ -11772,6 +11827,7 @@
124 MYSQL_SYSVAR(fast_checksum),
125 MYSQL_SYSVAR(commit_concurrency),
126 MYSQL_SYSVAR(concurrency_tickets),
127@@ -189,7 +189,7 @@
128 /* How much data manipulation language (DML) statements need to be delayed,
129 in microseconds, in order to reduce the lagging of the purge thread. */
130 UNIV_INTERN ulint srv_dml_needed_delay = 0;
131-@@ -2549,6 +2557,36 @@
132+@@ -2552,6 +2560,36 @@
133 old_sema = sema;
134 }
135
136@@ -245,18 +245,18 @@
137 +SET autocommit=0;
138 +CREATE TABLE t1 (a INT) ENGINE=InnoDB;
139 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
140-+Variable_name Value
141-+innodb_kill_idle_transaction 0
142++Variable_name Value
143++innodb_kill_idle_transaction 0
144 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
145-+VARIABLE_NAME VARIABLE_VALUE
146-+INNODB_KILL_IDLE_TRANSACTION 0
147++VARIABLE_NAME VARIABLE_VALUE
148++INNODB_KILL_IDLE_TRANSACTION 0
149 +SET GLOBAL innodb_kill_idle_transaction=1;
150 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
151-+Variable_name Value
152-+innodb_kill_idle_transaction 1
153++Variable_name Value
154++innodb_kill_idle_transaction 1
155 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
156-+VARIABLE_NAME VARIABLE_VALUE
157-+INNODB_KILL_IDLE_TRANSACTION 1
158++VARIABLE_NAME VARIABLE_VALUE
159++INNODB_KILL_IDLE_TRANSACTION 1
160 +BEGIN;
161 +INSERT INTO t1 VALUES (1),(2),(3);
162 +COMMIT;
163@@ -277,11 +277,11 @@
164 +DROP TABLE t1;
165 +SET GLOBAL innodb_kill_idle_transaction=0;
166 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
167-+Variable_name Value
168-+innodb_kill_idle_transaction 0
169++Variable_name Value
170++innodb_kill_idle_transaction 0
171 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
172-+VARIABLE_NAME VARIABLE_VALUE
173-+INNODB_KILL_IDLE_TRANSACTION 0
174++VARIABLE_NAME VARIABLE_VALUE
175++INNODB_KILL_IDLE_TRANSACTION 0
176 --- /dev/null
177 +++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result
178 @@ -0,0 +1,45 @@
179@@ -289,18 +289,18 @@
180 +SET autocommit=0;
181 +CREATE TABLE t1 (a INT) ENGINE=InnoDB;
182 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
183-+Variable_name Value
184-+innodb_kill_idle_transaction 0
185++Variable_name Value
186++innodb_kill_idle_transaction 0
187 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
188-+VARIABLE_NAME VARIABLE_VALUE
189-+INNODB_KILL_IDLE_TRANSACTION 0
190++VARIABLE_NAME VARIABLE_VALUE
191++INNODB_KILL_IDLE_TRANSACTION 0
192 +SET GLOBAL innodb_kill_idle_transaction=5;
193 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
194-+Variable_name Value
195-+innodb_kill_idle_transaction 5
196++Variable_name Value
197++innodb_kill_idle_transaction 5
198 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
199-+VARIABLE_NAME VARIABLE_VALUE
200-+INNODB_KILL_IDLE_TRANSACTION 5
201++VARIABLE_NAME VARIABLE_VALUE
202++INNODB_KILL_IDLE_TRANSACTION 5
203 +BEGIN;
204 +INSERT INTO t1 VALUES (1),(2),(3);
205 +COMMIT;
206@@ -325,11 +325,11 @@
207 +DROP TABLE t1;
208 +SET GLOBAL innodb_kill_idle_transaction=0;
209 +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
210-+Variable_name Value
211-+innodb_kill_idle_transaction 0
212++Variable_name Value
213++innodb_kill_idle_transaction 0
214 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
215-+VARIABLE_NAME VARIABLE_VALUE
216-+INNODB_KILL_IDLE_TRANSACTION 0
217++VARIABLE_NAME VARIABLE_VALUE
218++INNODB_KILL_IDLE_TRANSACTION 0
219 --- /dev/null
220 +++ b/mysql-test/t/percona_innodb_kill_idle_trx.test
221 @@ -0,0 +1,28 @@
222@@ -395,3 +395,8 @@
223 +DROP TABLE t1;
224 +SET GLOBAL innodb_kill_idle_transaction=0;
225 +--source include/percona_innodb_kill_idle_trx_show.inc
226+--- /dev/null
227++++ b/mysql-test/include/percona_innodb_kill_idle_trx_show.inc
228+@@ -0,0 +1,2 @@
229++SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
230++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
231
232=== modified file 'patches/innodb_swap_builtin_plugin.patch'
233--- patches/innodb_swap_builtin_plugin.patch 2011-08-09 13:35:34 +0000
234+++ patches/innodb_swap_builtin_plugin.patch 2011-10-08 03:50:27 +0000
235@@ -198,3 +198,14 @@
236 MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la])
237 MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
238 AC_CHECK_HEADERS(sched.h)
239+--- a/mysql-test/mysql-test-run.pl
240++++ b/mysql-test/mysql-test-run.pl
241+@@ -157,7 +157,7 @@
242+ # executables will be used by the test suite.
243+ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
244+
245+-my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb,innodb_plugin";
246++my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb_plugin";
247+ my $opt_suites;
248+
249+ our $opt_verbose= 0; # Verbose output, enable with --verbose
250
251=== modified file 'patches/mysql-test.diff'
252--- patches/mysql-test.diff 2011-10-05 00:02:14 +0000
253+++ patches/mysql-test.diff 2011-10-08 03:50:27 +0000
254@@ -3876,12 +3876,13 @@
255 +--log-output=table,file --log-slow-queries
256 --- a/mysql-test/include/mtr_check.sql
257 +++ b/mysql-test/include/mtr_check.sql
258-@@ -12,7 +12,8 @@
259+@@ -12,7 +12,9 @@
260 -- Dump all global variables except those
261 -- that are supposed to change
262 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
263 - WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME;
264-+ WHERE variable_name != 'timestamp'
265++ WHERE variable_name != 'timestamp' AND
266++ variable_name != 'innodb_file_format_check'
267 + ORDER BY VARIABLE_NAME;
268
269 -- Dump all databases, there should be none
270@@ -4009,7 +4010,7 @@
271 +0
272 --- /dev/null
273 +++ b/mysql-test/r/percona_server_variables_debug.result
274-@@ -0,0 +1,347 @@
275+@@ -0,0 +1,351 @@
276 +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;
277 +Variable_name
278 +AUTOCOMMIT
279@@ -4111,6 +4112,7 @@
280 +INNODB_EXPAND_IMPORT
281 +INNODB_EXTRA_RSEGMENTS
282 +INNODB_EXTRA_UNDOSLOTS
283++INNODB_FAKE_CHANGES
284 +INNODB_FAST_CHECKSUM
285 +INNODB_FAST_RECOVERY
286 +INNODB_FAST_SHUTDOWN
287@@ -4126,6 +4128,7 @@
288 +INNODB_IBUF_ACTIVE_CONTRACT
289 +INNODB_IBUF_MAX_SIZE
290 +INNODB_IO_CAPACITY
291++INNODB_KILL_IDLE_TRANSACTION
292 +INNODB_LAZY_DROP_TABLE
293 +INNODB_LOCKS_UNSAFE_FOR_BINLOG
294 +INNODB_LOCK_WAIT_TIMEOUT
295@@ -4194,6 +4197,7 @@
296 +LOG_OUTPUT
297 +LOG_QUERIES_NOT_USING_INDEXES
298 +LOG_SLAVE_UPDATES
299++LOG_SLOW_ADMIN_STATEMENTS
300 +LOG_SLOW_FILTER
301 +LOG_SLOW_QUERIES
302 +LOG_SLOW_RATE_LIMIT
303@@ -4360,7 +4364,7 @@
304 +WARNING_COUNT
305 --- /dev/null
306 +++ b/mysql-test/r/percona_server_variables_release.result
307-@@ -0,0 +1,344 @@
308+@@ -0,0 +1,348 @@
309 +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;
310 +Variable_name
311 +AUTOCOMMIT
312@@ -4460,6 +4464,7 @@
313 +INNODB_EXPAND_IMPORT
314 +INNODB_EXTRA_RSEGMENTS
315 +INNODB_EXTRA_UNDOSLOTS
316++INNODB_FAKE_CHANGES
317 +INNODB_FAST_CHECKSUM
318 +INNODB_FAST_RECOVERY
319 +INNODB_FAST_SHUTDOWN
320@@ -4475,6 +4480,7 @@
321 +INNODB_IBUF_ACTIVE_CONTRACT
322 +INNODB_IBUF_MAX_SIZE
323 +INNODB_IO_CAPACITY
324++INNODB_KILL_IDLE_TRANSACTION
325 +INNODB_LAZY_DROP_TABLE
326 +INNODB_LOCKS_UNSAFE_FOR_BINLOG
327 +INNODB_LOCK_WAIT_TIMEOUT
328@@ -4543,6 +4549,7 @@
329 +LOG_OUTPUT
330 +LOG_QUERIES_NOT_USING_INDEXES
331 +LOG_SLAVE_UPDATES
332++LOG_SLOW_ADMIN_STATEMENTS
333 +LOG_SLOW_FILTER
334 +LOG_SLOW_QUERIES
335 +LOG_SLOW_RATE_LIMIT
336
337=== modified file 'patches/slow_extended.patch'
338--- patches/slow_extended.patch 2011-10-05 00:03:13 +0000
339+++ patches/slow_extended.patch 2011-10-08 03:50:27 +0000
340@@ -621,15 +621,6 @@
341 OPT_IGNORE_BUILTIN_INNODB,
342 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,
343 OPT_DEFAULT_CHARACTER_SET_OLD,
344-@@ -6135,7 +6149,7 @@
345- {"log-slow-admin-statements", OPT_LOG_SLOW_ADMIN_STATEMENTS,
346- "Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements "
347- "to the slow log if it is open.", &opt_log_slow_admin_statements,
348-- &opt_log_slow_admin_statements, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
349-+ &opt_log_slow_admin_statements, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
350- {"log-slow-slave-statements", OPT_LOG_SLOW_SLAVE_STATEMENTS,
351- "Log slow statements executed by slave thread to the slow log if it is open.",
352- &opt_log_slow_slave_statements,
353 @@ -6836,6 +6850,36 @@
354 "microsecond precision.",
355 &long_query_time, &long_query_time, 0, GET_DOUBLE,
356@@ -2600,3 +2591,81 @@
357 @@ -0,0 +1,2 @@
358 +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
359 +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
360+--- /dev/null
361++++ b/mysql-test/r/percona_log_slow_admin_statements-config_false.result
362+@@ -0,0 +1,6 @@
363++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
364++Variable_name Value
365++log_slow_admin_statements OFF
366++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
367++VARIABLE_NAME VARIABLE_VALUE
368++LOG_SLOW_ADMIN_STATEMENTS OFF
369+--- /dev/null
370++++ b/mysql-test/r/percona_log_slow_admin_statements-config_foo.result
371+@@ -0,0 +1,7 @@
372++call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'");
373++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
374++Variable_name Value
375++log_slow_admin_statements OFF
376++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
377++VARIABLE_NAME VARIABLE_VALUE
378++LOG_SLOW_ADMIN_STATEMENTS OFF
379+--- /dev/null
380++++ b/mysql-test/r/percona_log_slow_admin_statements-config_true.result
381+@@ -0,0 +1,6 @@
382++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
383++Variable_name Value
384++log_slow_admin_statements ON
385++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
386++VARIABLE_NAME VARIABLE_VALUE
387++LOG_SLOW_ADMIN_STATEMENTS ON
388+--- /dev/null
389++++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.cnf
390+@@ -0,0 +1,2 @@
391++[mysqld.1]
392++log-slow-admin-statements=false
393+--- /dev/null
394++++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.test
395+@@ -0,0 +1,2 @@
396++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
397++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
398+--- /dev/null
399++++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.cnf
400+@@ -0,0 +1,2 @@
401++[mysqld.1]
402++log-slow-admin-statements=foo
403+--- /dev/null
404++++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.test
405+@@ -0,0 +1,3 @@
406++call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'");
407++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
408++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
409+--- /dev/null
410++++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.cnf
411+@@ -0,0 +1,2 @@
412++[mysqld.1]
413++log-slow-admin-statements=true
414+--- /dev/null
415++++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.test
416+@@ -0,0 +1,2 @@
417++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
418++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
419+--- /dev/null
420++++ b/mysql-test/r/percona_log_slow_admin_statements-config.result
421+@@ -0,0 +1,6 @@
422++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
423++Variable_name Value
424++log_slow_admin_statements ON
425++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
426++VARIABLE_NAME VARIABLE_VALUE
427++LOG_SLOW_ADMIN_STATEMENTS ON
428+--- /dev/null
429++++ b/mysql-test/t/percona_log_slow_admin_statements-config.cnf
430+@@ -0,0 +1,2 @@
431++[mysqld.1]
432++log-slow-admin-statements
433+--- /dev/null
434++++ b/mysql-test/t/percona_log_slow_admin_statements-config.test
435+@@ -0,0 +1,2 @@
436++SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
437++SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';

Subscribers

People subscribed via source and target branches