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
=== modified file 'patches/bug53761.patch'
--- patches/bug53761.patch 2011-08-24 11:40:25 +0000
+++ patches/bug53761.patch 2011-10-08 03:50:27 +0000
@@ -407,3 +407,66 @@
407 SELECT COUNT(*) FROM407 SELECT COUNT(*) FROM
408 (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)408 (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
409 WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;409 WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
410--- a/mysql-test/r/index_merge_innodb.result
411+++ b/mysql-test/r/index_merge_innodb.result
412@@ -346,7 +346,7 @@
413 FROM t1
414 WHERE c = 1 AND b = 1 AND d = 1;
415 id select_type table type possible_keys key key_len ref rows Extra
416-1 SIMPLE t1 index_merge c,bd c,bd 5,10 NULL 1 Using intersect(c,bd); Using where; Using index
417+1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where
418 CREATE TABLE t2 ( a INT )
419 SELECT a
420 FROM t1
421--- a/mysql-test/r/rowid_order_innodb.result
422+++ b/mysql-test/r/rowid_order_innodb.result
423@@ -15,7 +15,7 @@
424 (10, 1, 1);
425 explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
426 id select_type table type possible_keys key key_len ref rows Extra
427-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 4 Using sort_union(key1,key2); Using where
428+1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 5 Using sort_union(key1,key2); Using where
429 select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
430 pk1 key1 key2
431 -100 1 1
432--- a/mysql-test/r/type_bit_innodb.result
433+++ b/mysql-test/r/type_bit_innodb.result
434@@ -233,7 +233,7 @@
435 127 403
436 explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
437 id select_type table type possible_keys key key_len ref rows Extra
438-1 SIMPLE t1 range a a 2 NULL 19 Using where; Using index; Using filesort
439+1 SIMPLE t1 range a a 2 NULL 27 Using where; Using index; Using filesort
440 select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
441 a+0 b+0
442 44 307
443--- a/mysql-test/r/endspace.result
444+++ b/mysql-test/r/endspace.result
445@@ -201,12 +201,12 @@
446 text1
447 teststring
448 teststring
449-select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
450+select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2;
451 text1 length(text1)
452 teststring 11
453 teststring 10
454 teststring 11
455-select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
456+select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2;
457 text1 length(text1)
458 teststring 11
459 teststring 10
460--- a/mysql-test/t/endspace.test
461+++ b/mysql-test/t/endspace.test
462@@ -93,8 +93,8 @@
463 select * from t1 where text1 like 'teststring_%';
464
465 # The following gives wrong result in InnoDB
466-select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
467-select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
468+select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2;
469+select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2;
470 select concat('|', text1, '|') from t1 order by text1;
471 drop table t1;
472
410473
=== modified file 'patches/innodb_bug47167_test_fix.patch'
--- patches/innodb_bug47167_test_fix.patch 2011-08-01 17:56:34 +0000
+++ patches/innodb_bug47167_test_fix.patch 2011-10-08 03:50:27 +0000
@@ -42,11 +42,3 @@
42 42
43 # Following are negative tests, all should fail.43 # Following are negative tests, all should fail.
44 --disable_warnings44 --disable_warnings
45--- a/mysql-test/include/have_innodb.inc
46+++ b/mysql-test/include/have_innodb.inc
47@@ -1,4 +1,4 @@
48-if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
49+if (`select count(*)>0 from information_schema.plugins where plugin_name like 'xtradb%'`)
50 {
51 --skip Test requires InnoDB.
52 }
5345
=== modified file 'patches/innodb_kill_idle_transaction.patch'
--- patches/innodb_kill_idle_transaction.patch 2011-09-11 21:53:35 +0000
+++ patches/innodb_kill_idle_transaction.patch 2011-10-08 03:50:27 +0000
@@ -60,7 +60,7 @@
60 Implementation of Drop_table_error_handler::handle_error().60 Implementation of Drop_table_error_handler::handle_error().
61--- a/storage/innodb_plugin/handler/ha_innodb.cc61--- a/storage/innodb_plugin/handler/ha_innodb.cc
62+++ b/storage/innodb_plugin/handler/ha_innodb.cc62+++ b/storage/innodb_plugin/handler/ha_innodb.cc
63@@ -2511,6 +2511,10 @@63@@ -2515,6 +2515,10 @@
64 64
65 innobase_commit_concurrency_init_default();65 innobase_commit_concurrency_init_default();
66 66
@@ -71,7 +71,7 @@
71 /* Since we in this module access directly the fields of a trx71 /* Since we in this module access directly the fields of a trx
72 struct, and due to different headers and flags it might happen that72 struct, and due to different headers and flags it might happen that
73 mutex_t has a different size in this module and in InnoDB73 mutex_t has a different size in this module and in InnoDB
74@@ -11237,6 +11241,48 @@74@@ -11241,6 +11245,48 @@
75 return(false);75 return(false);
76 }76 }
77 77
@@ -120,7 +120,7 @@
120 static SHOW_VAR innodb_status_variables_export[]= {120 static SHOW_VAR innodb_status_variables_export[]= {
121 {"Innodb", (char*) &show_innodb_vars, SHOW_FUNC},121 {"Innodb", (char*) &show_innodb_vars, SHOW_FUNC},
122 {NullS, NullS, SHOW_LONG}122 {NullS, NullS, SHOW_LONG}
123@@ -11480,6 +11526,15 @@123@@ -11484,6 +11530,15 @@
124 "Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket",124 "Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket",
125 NULL, NULL, 500L, 1L, ~0L, 0);125 NULL, NULL, 500L, 1L, ~0L, 0);
126 126
@@ -136,7 +136,7 @@
136 static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,136 static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,
137 PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR,137 PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR,
138 "Number of file I/O threads in InnoDB.",138 "Number of file I/O threads in InnoDB.",
139@@ -11762,6 +11817,7 @@139@@ -11772,6 +11827,7 @@
140 MYSQL_SYSVAR(fast_checksum),140 MYSQL_SYSVAR(fast_checksum),
141 MYSQL_SYSVAR(commit_concurrency),141 MYSQL_SYSVAR(commit_concurrency),
142 MYSQL_SYSVAR(concurrency_tickets),142 MYSQL_SYSVAR(concurrency_tickets),
@@ -189,7 +189,7 @@
189 /* How much data manipulation language (DML) statements need to be delayed,189 /* How much data manipulation language (DML) statements need to be delayed,
190 in microseconds, in order to reduce the lagging of the purge thread. */190 in microseconds, in order to reduce the lagging of the purge thread. */
191 UNIV_INTERN ulint srv_dml_needed_delay = 0;191 UNIV_INTERN ulint srv_dml_needed_delay = 0;
192@@ -2549,6 +2557,36 @@192@@ -2552,6 +2560,36 @@
193 old_sema = sema;193 old_sema = sema;
194 }194 }
195 195
@@ -245,18 +245,18 @@
245+SET autocommit=0;245+SET autocommit=0;
246+CREATE TABLE t1 (a INT) ENGINE=InnoDB;246+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
247+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';247+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
248+Variable_name Value248+Variable_name Value
249+innodb_kill_idle_transaction 0249+innodb_kill_idle_transaction 0
250+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';250+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
251+VARIABLE_NAME VARIABLE_VALUE251+VARIABLE_NAME VARIABLE_VALUE
252+INNODB_KILL_IDLE_TRANSACTION 0252+INNODB_KILL_IDLE_TRANSACTION 0
253+SET GLOBAL innodb_kill_idle_transaction=1;253+SET GLOBAL innodb_kill_idle_transaction=1;
254+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';254+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
255+Variable_name Value255+Variable_name Value
256+innodb_kill_idle_transaction 1256+innodb_kill_idle_transaction 1
257+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';257+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
258+VARIABLE_NAME VARIABLE_VALUE258+VARIABLE_NAME VARIABLE_VALUE
259+INNODB_KILL_IDLE_TRANSACTION 1259+INNODB_KILL_IDLE_TRANSACTION 1
260+BEGIN;260+BEGIN;
261+INSERT INTO t1 VALUES (1),(2),(3);261+INSERT INTO t1 VALUES (1),(2),(3);
262+COMMIT;262+COMMIT;
@@ -277,11 +277,11 @@
277+DROP TABLE t1;277+DROP TABLE t1;
278+SET GLOBAL innodb_kill_idle_transaction=0;278+SET GLOBAL innodb_kill_idle_transaction=0;
279+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';279+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
280+Variable_name Value280+Variable_name Value
281+innodb_kill_idle_transaction 0281+innodb_kill_idle_transaction 0
282+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';282+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
283+VARIABLE_NAME VARIABLE_VALUE283+VARIABLE_NAME VARIABLE_VALUE
284+INNODB_KILL_IDLE_TRANSACTION 0284+INNODB_KILL_IDLE_TRANSACTION 0
285--- /dev/null285--- /dev/null
286+++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result286+++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result
287@@ -0,0 +1,45 @@287@@ -0,0 +1,45 @@
@@ -289,18 +289,18 @@
289+SET autocommit=0;289+SET autocommit=0;
290+CREATE TABLE t1 (a INT) ENGINE=InnoDB;290+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
291+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';291+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
292+Variable_name Value292+Variable_name Value
293+innodb_kill_idle_transaction 0293+innodb_kill_idle_transaction 0
294+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';294+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
295+VARIABLE_NAME VARIABLE_VALUE295+VARIABLE_NAME VARIABLE_VALUE
296+INNODB_KILL_IDLE_TRANSACTION 0296+INNODB_KILL_IDLE_TRANSACTION 0
297+SET GLOBAL innodb_kill_idle_transaction=5;297+SET GLOBAL innodb_kill_idle_transaction=5;
298+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';298+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
299+Variable_name Value299+Variable_name Value
300+innodb_kill_idle_transaction 5300+innodb_kill_idle_transaction 5
301+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';301+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
302+VARIABLE_NAME VARIABLE_VALUE302+VARIABLE_NAME VARIABLE_VALUE
303+INNODB_KILL_IDLE_TRANSACTION 5303+INNODB_KILL_IDLE_TRANSACTION 5
304+BEGIN;304+BEGIN;
305+INSERT INTO t1 VALUES (1),(2),(3);305+INSERT INTO t1 VALUES (1),(2),(3);
306+COMMIT;306+COMMIT;
@@ -325,11 +325,11 @@
325+DROP TABLE t1;325+DROP TABLE t1;
326+SET GLOBAL innodb_kill_idle_transaction=0;326+SET GLOBAL innodb_kill_idle_transaction=0;
327+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';327+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
328+Variable_name Value328+Variable_name Value
329+innodb_kill_idle_transaction 0329+innodb_kill_idle_transaction 0
330+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';330+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
331+VARIABLE_NAME VARIABLE_VALUE331+VARIABLE_NAME VARIABLE_VALUE
332+INNODB_KILL_IDLE_TRANSACTION 0332+INNODB_KILL_IDLE_TRANSACTION 0
333--- /dev/null333--- /dev/null
334+++ b/mysql-test/t/percona_innodb_kill_idle_trx.test334+++ b/mysql-test/t/percona_innodb_kill_idle_trx.test
335@@ -0,0 +1,28 @@335@@ -0,0 +1,28 @@
@@ -395,3 +395,8 @@
395+DROP TABLE t1;395+DROP TABLE t1;
396+SET GLOBAL innodb_kill_idle_transaction=0;396+SET GLOBAL innodb_kill_idle_transaction=0;
397+--source include/percona_innodb_kill_idle_trx_show.inc397+--source include/percona_innodb_kill_idle_trx_show.inc
398--- /dev/null
399+++ b/mysql-test/include/percona_innodb_kill_idle_trx_show.inc
400@@ -0,0 +1,2 @@
401+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
402+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
398403
=== modified file 'patches/innodb_swap_builtin_plugin.patch'
--- patches/innodb_swap_builtin_plugin.patch 2011-08-09 13:35:34 +0000
+++ patches/innodb_swap_builtin_plugin.patch 2011-10-08 03:50:27 +0000
@@ -198,3 +198,14 @@
198 MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la])198 MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la])
199 MYSQL_PLUGIN_ACTIONS(innodb_plugin, [199 MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
200 AC_CHECK_HEADERS(sched.h)200 AC_CHECK_HEADERS(sched.h)
201--- a/mysql-test/mysql-test-run.pl
202+++ b/mysql-test/mysql-test-run.pl
203@@ -157,7 +157,7 @@
204 # executables will be used by the test suite.
205 our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
206
207-my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb,innodb_plugin";
208+my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb_plugin";
209 my $opt_suites;
210
211 our $opt_verbose= 0; # Verbose output, enable with --verbose
201212
=== modified file 'patches/mysql-test.diff'
--- patches/mysql-test.diff 2011-10-05 00:02:14 +0000
+++ patches/mysql-test.diff 2011-10-08 03:50:27 +0000
@@ -3876,12 +3876,13 @@
3876+--log-output=table,file --log-slow-queries3876+--log-output=table,file --log-slow-queries
3877--- a/mysql-test/include/mtr_check.sql3877--- a/mysql-test/include/mtr_check.sql
3878+++ b/mysql-test/include/mtr_check.sql3878+++ b/mysql-test/include/mtr_check.sql
3879@@ -12,7 +12,8 @@3879@@ -12,7 +12,9 @@
3880 -- Dump all global variables except those3880 -- Dump all global variables except those
3881 -- that are supposed to change3881 -- that are supposed to change
3882 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES3882 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
3883- WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME;3883- WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME;
3884+ WHERE variable_name != 'timestamp'3884+ WHERE variable_name != 'timestamp' AND
3885+ variable_name != 'innodb_file_format_check'
3885+ ORDER BY VARIABLE_NAME;3886+ ORDER BY VARIABLE_NAME;
3886 3887
3887 -- Dump all databases, there should be none3888 -- Dump all databases, there should be none
@@ -4009,7 +4010,7 @@
4009+04010+0
4010--- /dev/null4011--- /dev/null
4011+++ b/mysql-test/r/percona_server_variables_debug.result4012+++ b/mysql-test/r/percona_server_variables_debug.result
4012@@ -0,0 +1,347 @@4013@@ -0,0 +1,351 @@
4013+SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;4014+SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;
4014+Variable_name4015+Variable_name
4015+AUTOCOMMIT4016+AUTOCOMMIT
@@ -4111,6 +4112,7 @@
4111+INNODB_EXPAND_IMPORT4112+INNODB_EXPAND_IMPORT
4112+INNODB_EXTRA_RSEGMENTS4113+INNODB_EXTRA_RSEGMENTS
4113+INNODB_EXTRA_UNDOSLOTS4114+INNODB_EXTRA_UNDOSLOTS
4115+INNODB_FAKE_CHANGES
4114+INNODB_FAST_CHECKSUM4116+INNODB_FAST_CHECKSUM
4115+INNODB_FAST_RECOVERY4117+INNODB_FAST_RECOVERY
4116+INNODB_FAST_SHUTDOWN4118+INNODB_FAST_SHUTDOWN
@@ -4126,6 +4128,7 @@
4126+INNODB_IBUF_ACTIVE_CONTRACT4128+INNODB_IBUF_ACTIVE_CONTRACT
4127+INNODB_IBUF_MAX_SIZE4129+INNODB_IBUF_MAX_SIZE
4128+INNODB_IO_CAPACITY4130+INNODB_IO_CAPACITY
4131+INNODB_KILL_IDLE_TRANSACTION
4129+INNODB_LAZY_DROP_TABLE4132+INNODB_LAZY_DROP_TABLE
4130+INNODB_LOCKS_UNSAFE_FOR_BINLOG4133+INNODB_LOCKS_UNSAFE_FOR_BINLOG
4131+INNODB_LOCK_WAIT_TIMEOUT4134+INNODB_LOCK_WAIT_TIMEOUT
@@ -4194,6 +4197,7 @@
4194+LOG_OUTPUT4197+LOG_OUTPUT
4195+LOG_QUERIES_NOT_USING_INDEXES4198+LOG_QUERIES_NOT_USING_INDEXES
4196+LOG_SLAVE_UPDATES4199+LOG_SLAVE_UPDATES
4200+LOG_SLOW_ADMIN_STATEMENTS
4197+LOG_SLOW_FILTER4201+LOG_SLOW_FILTER
4198+LOG_SLOW_QUERIES4202+LOG_SLOW_QUERIES
4199+LOG_SLOW_RATE_LIMIT4203+LOG_SLOW_RATE_LIMIT
@@ -4360,7 +4364,7 @@
4360+WARNING_COUNT4364+WARNING_COUNT
4361--- /dev/null4365--- /dev/null
4362+++ b/mysql-test/r/percona_server_variables_release.result4366+++ b/mysql-test/r/percona_server_variables_release.result
4363@@ -0,0 +1,344 @@4367@@ -0,0 +1,348 @@
4364+SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;4368+SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1;
4365+Variable_name4369+Variable_name
4366+AUTOCOMMIT4370+AUTOCOMMIT
@@ -4460,6 +4464,7 @@
4460+INNODB_EXPAND_IMPORT4464+INNODB_EXPAND_IMPORT
4461+INNODB_EXTRA_RSEGMENTS4465+INNODB_EXTRA_RSEGMENTS
4462+INNODB_EXTRA_UNDOSLOTS4466+INNODB_EXTRA_UNDOSLOTS
4467+INNODB_FAKE_CHANGES
4463+INNODB_FAST_CHECKSUM4468+INNODB_FAST_CHECKSUM
4464+INNODB_FAST_RECOVERY4469+INNODB_FAST_RECOVERY
4465+INNODB_FAST_SHUTDOWN4470+INNODB_FAST_SHUTDOWN
@@ -4475,6 +4480,7 @@
4475+INNODB_IBUF_ACTIVE_CONTRACT4480+INNODB_IBUF_ACTIVE_CONTRACT
4476+INNODB_IBUF_MAX_SIZE4481+INNODB_IBUF_MAX_SIZE
4477+INNODB_IO_CAPACITY4482+INNODB_IO_CAPACITY
4483+INNODB_KILL_IDLE_TRANSACTION
4478+INNODB_LAZY_DROP_TABLE4484+INNODB_LAZY_DROP_TABLE
4479+INNODB_LOCKS_UNSAFE_FOR_BINLOG4485+INNODB_LOCKS_UNSAFE_FOR_BINLOG
4480+INNODB_LOCK_WAIT_TIMEOUT4486+INNODB_LOCK_WAIT_TIMEOUT
@@ -4543,6 +4549,7 @@
4543+LOG_OUTPUT4549+LOG_OUTPUT
4544+LOG_QUERIES_NOT_USING_INDEXES4550+LOG_QUERIES_NOT_USING_INDEXES
4545+LOG_SLAVE_UPDATES4551+LOG_SLAVE_UPDATES
4552+LOG_SLOW_ADMIN_STATEMENTS
4546+LOG_SLOW_FILTER4553+LOG_SLOW_FILTER
4547+LOG_SLOW_QUERIES4554+LOG_SLOW_QUERIES
4548+LOG_SLOW_RATE_LIMIT4555+LOG_SLOW_RATE_LIMIT
45494556
=== modified file 'patches/slow_extended.patch'
--- patches/slow_extended.patch 2011-10-05 00:03:13 +0000
+++ patches/slow_extended.patch 2011-10-08 03:50:27 +0000
@@ -621,15 +621,6 @@
621 OPT_IGNORE_BUILTIN_INNODB,621 OPT_IGNORE_BUILTIN_INNODB,
622 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,622 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,
623 OPT_DEFAULT_CHARACTER_SET_OLD,623 OPT_DEFAULT_CHARACTER_SET_OLD,
624@@ -6135,7 +6149,7 @@
625 {"log-slow-admin-statements", OPT_LOG_SLOW_ADMIN_STATEMENTS,
626 "Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements "
627 "to the slow log if it is open.", &opt_log_slow_admin_statements,
628- &opt_log_slow_admin_statements, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
629+ &opt_log_slow_admin_statements, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
630 {"log-slow-slave-statements", OPT_LOG_SLOW_SLAVE_STATEMENTS,
631 "Log slow statements executed by slave thread to the slow log if it is open.",
632 &opt_log_slow_slave_statements,
633@@ -6836,6 +6850,36 @@624@@ -6836,6 +6850,36 @@
634 "microsecond precision.",625 "microsecond precision.",
635 &long_query_time, &long_query_time, 0, GET_DOUBLE,626 &long_query_time, &long_query_time, 0, GET_DOUBLE,
@@ -2600,3 +2591,81 @@
2600@@ -0,0 +1,2 @@2591@@ -0,0 +1,2 @@
2601+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';2592+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2602+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';2593+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2594--- /dev/null
2595+++ b/mysql-test/r/percona_log_slow_admin_statements-config_false.result
2596@@ -0,0 +1,6 @@
2597+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2598+Variable_name Value
2599+log_slow_admin_statements OFF
2600+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2601+VARIABLE_NAME VARIABLE_VALUE
2602+LOG_SLOW_ADMIN_STATEMENTS OFF
2603--- /dev/null
2604+++ b/mysql-test/r/percona_log_slow_admin_statements-config_foo.result
2605@@ -0,0 +1,7 @@
2606+call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'");
2607+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2608+Variable_name Value
2609+log_slow_admin_statements OFF
2610+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2611+VARIABLE_NAME VARIABLE_VALUE
2612+LOG_SLOW_ADMIN_STATEMENTS OFF
2613--- /dev/null
2614+++ b/mysql-test/r/percona_log_slow_admin_statements-config_true.result
2615@@ -0,0 +1,6 @@
2616+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2617+Variable_name Value
2618+log_slow_admin_statements ON
2619+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2620+VARIABLE_NAME VARIABLE_VALUE
2621+LOG_SLOW_ADMIN_STATEMENTS ON
2622--- /dev/null
2623+++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.cnf
2624@@ -0,0 +1,2 @@
2625+[mysqld.1]
2626+log-slow-admin-statements=false
2627--- /dev/null
2628+++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.test
2629@@ -0,0 +1,2 @@
2630+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2631+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2632--- /dev/null
2633+++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.cnf
2634@@ -0,0 +1,2 @@
2635+[mysqld.1]
2636+log-slow-admin-statements=foo
2637--- /dev/null
2638+++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.test
2639@@ -0,0 +1,3 @@
2640+call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'");
2641+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2642+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2643--- /dev/null
2644+++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.cnf
2645@@ -0,0 +1,2 @@
2646+[mysqld.1]
2647+log-slow-admin-statements=true
2648--- /dev/null
2649+++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.test
2650@@ -0,0 +1,2 @@
2651+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2652+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2653--- /dev/null
2654+++ b/mysql-test/r/percona_log_slow_admin_statements-config.result
2655@@ -0,0 +1,6 @@
2656+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2657+Variable_name Value
2658+log_slow_admin_statements ON
2659+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';
2660+VARIABLE_NAME VARIABLE_VALUE
2661+LOG_SLOW_ADMIN_STATEMENTS ON
2662--- /dev/null
2663+++ b/mysql-test/t/percona_log_slow_admin_statements-config.cnf
2664@@ -0,0 +1,2 @@
2665+[mysqld.1]
2666+log-slow-admin-statements
2667--- /dev/null
2668+++ b/mysql-test/t/percona_log_slow_admin_statements-config.test
2669@@ -0,0 +1,2 @@
2670+SHOW GLOBAL VARIABLES like 'log_slow_admin_statements';
2671+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements';

Subscribers

People subscribed via source and target branches