Merge lp:~tsarev/percona-server/5.1_fix_bug_838725 into lp:percona-server/5.1
- 5.1_fix_bug_838725
- Merge into 5.1
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 | ||||||||
Related bugs: |
|
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.
Commit message
Description of the change
This is MP with cumulative fixes of following bugs:
* bug #838725 - percona_
* 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/
2. Remove innodb suite from default suites list (mysql-test-run.pl)
=======
Revision 301:
Fixed bug #862378 - main.endspace sporaic fails (upstream http://
=======
Revision 302:
Fixed tests main.index_
=======
Revision 303:
Fix for tests: percona_
This tests doesn't run before revision number 300, according to bug #838725
=======
Jenkins build: http://
(will run later)
=======
Locally on my Fedora 14 x86_64 both debug and release fine
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal | # |
** after your changes have_innodb_
** 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_
** I would like a link to a Jenkins build on all slaves, not just the centos ones.
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
> ** after your changes have_innodb_
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_
> ** 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_
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.
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_
>
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.
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal | # |
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
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.
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal | # |
Laurynas Biveinis (laurynas-biveinis) wrote : | # |
LGTM
Preview Diff
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 | 407 | SELECT COUNT(*) FROM | 407 | SELECT COUNT(*) FROM |
6 | 408 | (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY) | 408 | (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY) |
7 | 409 | WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t; | 409 | WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t; |
8 | 410 | --- a/mysql-test/r/index_merge_innodb.result | ||
9 | 411 | +++ b/mysql-test/r/index_merge_innodb.result | ||
10 | 412 | @@ -346,7 +346,7 @@ | ||
11 | 413 | FROM t1 | ||
12 | 414 | WHERE c = 1 AND b = 1 AND d = 1; | ||
13 | 415 | id select_type table type possible_keys key key_len ref rows Extra | ||
14 | 416 | -1 SIMPLE t1 index_merge c,bd c,bd 5,10 NULL 1 Using intersect(c,bd); Using where; Using index | ||
15 | 417 | +1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where | ||
16 | 418 | CREATE TABLE t2 ( a INT ) | ||
17 | 419 | SELECT a | ||
18 | 420 | FROM t1 | ||
19 | 421 | --- a/mysql-test/r/rowid_order_innodb.result | ||
20 | 422 | +++ b/mysql-test/r/rowid_order_innodb.result | ||
21 | 423 | @@ -15,7 +15,7 @@ | ||
22 | 424 | (10, 1, 1); | ||
23 | 425 | explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; | ||
24 | 426 | id select_type table type possible_keys key key_len ref rows Extra | ||
25 | 427 | -1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 4 Using sort_union(key1,key2); Using where | ||
26 | 428 | +1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 5 Using sort_union(key1,key2); Using where | ||
27 | 429 | select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; | ||
28 | 430 | pk1 key1 key2 | ||
29 | 431 | -100 1 1 | ||
30 | 432 | --- a/mysql-test/r/type_bit_innodb.result | ||
31 | 433 | +++ b/mysql-test/r/type_bit_innodb.result | ||
32 | 434 | @@ -233,7 +233,7 @@ | ||
33 | 435 | 127 403 | ||
34 | 436 | explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1; | ||
35 | 437 | id select_type table type possible_keys key key_len ref rows Extra | ||
36 | 438 | -1 SIMPLE t1 range a a 2 NULL 19 Using where; Using index; Using filesort | ||
37 | 439 | +1 SIMPLE t1 range a a 2 NULL 27 Using where; Using index; Using filesort | ||
38 | 440 | select a+0, b+0 from t1 where a > 40 and b > 200 order by 1; | ||
39 | 441 | a+0 b+0 | ||
40 | 442 | 44 307 | ||
41 | 443 | --- a/mysql-test/r/endspace.result | ||
42 | 444 | +++ b/mysql-test/r/endspace.result | ||
43 | 445 | @@ -201,12 +201,12 @@ | ||
44 | 446 | text1 | ||
45 | 447 | teststring | ||
46 | 448 | teststring | ||
47 | 449 | -select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%'; | ||
48 | 450 | +select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2; | ||
49 | 451 | text1 length(text1) | ||
50 | 452 | teststring 11 | ||
51 | 453 | teststring 10 | ||
52 | 454 | teststring 11 | ||
53 | 455 | -select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t'; | ||
54 | 456 | +select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2; | ||
55 | 457 | text1 length(text1) | ||
56 | 458 | teststring 11 | ||
57 | 459 | teststring 10 | ||
58 | 460 | --- a/mysql-test/t/endspace.test | ||
59 | 461 | +++ b/mysql-test/t/endspace.test | ||
60 | 462 | @@ -93,8 +93,8 @@ | ||
61 | 463 | select * from t1 where text1 like 'teststring_%'; | ||
62 | 464 | |||
63 | 465 | # The following gives wrong result in InnoDB | ||
64 | 466 | -select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%'; | ||
65 | 467 | -select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t'; | ||
66 | 468 | +select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%' order by 1, 2; | ||
67 | 469 | +select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t' order by 1, 2; | ||
68 | 470 | select concat('|', text1, '|') from t1 order by text1; | ||
69 | 471 | drop table t1; | ||
70 | 472 | |||
71 | 410 | 473 | ||
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 | 42 | 42 | ||
77 | 43 | # Following are negative tests, all should fail. | 43 | # Following are negative tests, all should fail. |
78 | 44 | --disable_warnings | 44 | --disable_warnings |
79 | 45 | --- a/mysql-test/include/have_innodb.inc | ||
80 | 46 | +++ b/mysql-test/include/have_innodb.inc | ||
81 | 47 | @@ -1,4 +1,4 @@ | ||
82 | 48 | -if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED')`) | ||
83 | 49 | +if (`select count(*)>0 from information_schema.plugins where plugin_name like 'xtradb%'`) | ||
84 | 50 | { | ||
85 | 51 | --skip Test requires InnoDB. | ||
86 | 52 | } | ||
87 | 53 | 45 | ||
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 | 60 | Implementation of Drop_table_error_handler::handle_error(). | 60 | Implementation of Drop_table_error_handler::handle_error(). |
93 | 61 | --- a/storage/innodb_plugin/handler/ha_innodb.cc | 61 | --- a/storage/innodb_plugin/handler/ha_innodb.cc |
94 | 62 | +++ b/storage/innodb_plugin/handler/ha_innodb.cc | 62 | +++ b/storage/innodb_plugin/handler/ha_innodb.cc |
96 | 63 | @@ -2511,6 +2511,10 @@ | 63 | @@ -2515,6 +2515,10 @@ |
97 | 64 | 64 | ||
98 | 65 | innobase_commit_concurrency_init_default(); | 65 | innobase_commit_concurrency_init_default(); |
99 | 66 | 66 | ||
100 | @@ -71,7 +71,7 @@ | |||
101 | 71 | /* Since we in this module access directly the fields of a trx | 71 | /* Since we in this module access directly the fields of a trx |
102 | 72 | struct, and due to different headers and flags it might happen that | 72 | struct, and due to different headers and flags it might happen that |
103 | 73 | mutex_t has a different size in this module and in InnoDB | 73 | mutex_t has a different size in this module and in InnoDB |
105 | 74 | @@ -11237,6 +11241,48 @@ | 74 | @@ -11241,6 +11245,48 @@ |
106 | 75 | return(false); | 75 | return(false); |
107 | 76 | } | 76 | } |
108 | 77 | 77 | ||
109 | @@ -120,7 +120,7 @@ | |||
110 | 120 | static SHOW_VAR innodb_status_variables_export[]= { | 120 | static SHOW_VAR innodb_status_variables_export[]= { |
111 | 121 | {"Innodb", (char*) &show_innodb_vars, SHOW_FUNC}, | 121 | {"Innodb", (char*) &show_innodb_vars, SHOW_FUNC}, |
112 | 122 | {NullS, NullS, SHOW_LONG} | 122 | {NullS, NullS, SHOW_LONG} |
114 | 123 | @@ -11480,6 +11526,15 @@ | 123 | @@ -11484,6 +11530,15 @@ |
115 | 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", |
116 | 125 | NULL, NULL, 500L, 1L, ~0L, 0); | 125 | NULL, NULL, 500L, 1L, ~0L, 0); |
117 | 126 | 126 | ||
118 | @@ -136,7 +136,7 @@ | |||
119 | 136 | static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads, | 136 | static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads, |
120 | 137 | PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR, | 137 | PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR, |
121 | 138 | "Number of file I/O threads in InnoDB.", | 138 | "Number of file I/O threads in InnoDB.", |
123 | 139 | @@ -11762,6 +11817,7 @@ | 139 | @@ -11772,6 +11827,7 @@ |
124 | 140 | MYSQL_SYSVAR(fast_checksum), | 140 | MYSQL_SYSVAR(fast_checksum), |
125 | 141 | MYSQL_SYSVAR(commit_concurrency), | 141 | MYSQL_SYSVAR(commit_concurrency), |
126 | 142 | MYSQL_SYSVAR(concurrency_tickets), | 142 | MYSQL_SYSVAR(concurrency_tickets), |
127 | @@ -189,7 +189,7 @@ | |||
128 | 189 | /* How much data manipulation language (DML) statements need to be delayed, | 189 | /* How much data manipulation language (DML) statements need to be delayed, |
129 | 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. */ |
130 | 191 | UNIV_INTERN ulint srv_dml_needed_delay = 0; | 191 | UNIV_INTERN ulint srv_dml_needed_delay = 0; |
132 | 192 | @@ -2549,6 +2557,36 @@ | 192 | @@ -2552,6 +2560,36 @@ |
133 | 193 | old_sema = sema; | 193 | old_sema = sema; |
134 | 194 | } | 194 | } |
135 | 195 | 195 | ||
136 | @@ -245,18 +245,18 @@ | |||
137 | 245 | +SET autocommit=0; | 245 | +SET autocommit=0; |
138 | 246 | +CREATE TABLE t1 (a INT) ENGINE=InnoDB; | 246 | +CREATE TABLE t1 (a INT) ENGINE=InnoDB; |
139 | 247 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 247 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
142 | 248 | +Variable_name Value | 248 | +Variable_name Value |
143 | 249 | +innodb_kill_idle_transaction 0 | 249 | +innodb_kill_idle_transaction 0 |
144 | 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'; |
147 | 251 | +VARIABLE_NAME VARIABLE_VALUE | 251 | +VARIABLE_NAME VARIABLE_VALUE |
148 | 252 | +INNODB_KILL_IDLE_TRANSACTION 0 | 252 | +INNODB_KILL_IDLE_TRANSACTION 0 |
149 | 253 | +SET GLOBAL innodb_kill_idle_transaction=1; | 253 | +SET GLOBAL innodb_kill_idle_transaction=1; |
150 | 254 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 254 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
153 | 255 | +Variable_name Value | 255 | +Variable_name Value |
154 | 256 | +innodb_kill_idle_transaction 1 | 256 | +innodb_kill_idle_transaction 1 |
155 | 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'; |
158 | 258 | +VARIABLE_NAME VARIABLE_VALUE | 258 | +VARIABLE_NAME VARIABLE_VALUE |
159 | 259 | +INNODB_KILL_IDLE_TRANSACTION 1 | 259 | +INNODB_KILL_IDLE_TRANSACTION 1 |
160 | 260 | +BEGIN; | 260 | +BEGIN; |
161 | 261 | +INSERT INTO t1 VALUES (1),(2),(3); | 261 | +INSERT INTO t1 VALUES (1),(2),(3); |
162 | 262 | +COMMIT; | 262 | +COMMIT; |
163 | @@ -277,11 +277,11 @@ | |||
164 | 277 | +DROP TABLE t1; | 277 | +DROP TABLE t1; |
165 | 278 | +SET GLOBAL innodb_kill_idle_transaction=0; | 278 | +SET GLOBAL innodb_kill_idle_transaction=0; |
166 | 279 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 279 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
169 | 280 | +Variable_name Value | 280 | +Variable_name Value |
170 | 281 | +innodb_kill_idle_transaction 0 | 281 | +innodb_kill_idle_transaction 0 |
171 | 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'; |
174 | 283 | +VARIABLE_NAME VARIABLE_VALUE | 283 | +VARIABLE_NAME VARIABLE_VALUE |
175 | 284 | +INNODB_KILL_IDLE_TRANSACTION 0 | 284 | +INNODB_KILL_IDLE_TRANSACTION 0 |
176 | 285 | --- /dev/null | 285 | --- /dev/null |
177 | 286 | +++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result | 286 | +++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result |
178 | 287 | @@ -0,0 +1,45 @@ | 287 | @@ -0,0 +1,45 @@ |
179 | @@ -289,18 +289,18 @@ | |||
180 | 289 | +SET autocommit=0; | 289 | +SET autocommit=0; |
181 | 290 | +CREATE TABLE t1 (a INT) ENGINE=InnoDB; | 290 | +CREATE TABLE t1 (a INT) ENGINE=InnoDB; |
182 | 291 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 291 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
185 | 292 | +Variable_name Value | 292 | +Variable_name Value |
186 | 293 | +innodb_kill_idle_transaction 0 | 293 | +innodb_kill_idle_transaction 0 |
187 | 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'; |
190 | 295 | +VARIABLE_NAME VARIABLE_VALUE | 295 | +VARIABLE_NAME VARIABLE_VALUE |
191 | 296 | +INNODB_KILL_IDLE_TRANSACTION 0 | 296 | +INNODB_KILL_IDLE_TRANSACTION 0 |
192 | 297 | +SET GLOBAL innodb_kill_idle_transaction=5; | 297 | +SET GLOBAL innodb_kill_idle_transaction=5; |
193 | 298 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 298 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
196 | 299 | +Variable_name Value | 299 | +Variable_name Value |
197 | 300 | +innodb_kill_idle_transaction 5 | 300 | +innodb_kill_idle_transaction 5 |
198 | 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'; |
201 | 302 | +VARIABLE_NAME VARIABLE_VALUE | 302 | +VARIABLE_NAME VARIABLE_VALUE |
202 | 303 | +INNODB_KILL_IDLE_TRANSACTION 5 | 303 | +INNODB_KILL_IDLE_TRANSACTION 5 |
203 | 304 | +BEGIN; | 304 | +BEGIN; |
204 | 305 | +INSERT INTO t1 VALUES (1),(2),(3); | 305 | +INSERT INTO t1 VALUES (1),(2),(3); |
205 | 306 | +COMMIT; | 306 | +COMMIT; |
206 | @@ -325,11 +325,11 @@ | |||
207 | 325 | +DROP TABLE t1; | 325 | +DROP TABLE t1; |
208 | 326 | +SET GLOBAL innodb_kill_idle_transaction=0; | 326 | +SET GLOBAL innodb_kill_idle_transaction=0; |
209 | 327 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | 327 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; |
212 | 328 | +Variable_name Value | 328 | +Variable_name Value |
213 | 329 | +innodb_kill_idle_transaction 0 | 329 | +innodb_kill_idle_transaction 0 |
214 | 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'; |
217 | 331 | +VARIABLE_NAME VARIABLE_VALUE | 331 | +VARIABLE_NAME VARIABLE_VALUE |
218 | 332 | +INNODB_KILL_IDLE_TRANSACTION 0 | 332 | +INNODB_KILL_IDLE_TRANSACTION 0 |
219 | 333 | --- /dev/null | 333 | --- /dev/null |
220 | 334 | +++ b/mysql-test/t/percona_innodb_kill_idle_trx.test | 334 | +++ b/mysql-test/t/percona_innodb_kill_idle_trx.test |
221 | 335 | @@ -0,0 +1,28 @@ | 335 | @@ -0,0 +1,28 @@ |
222 | @@ -395,3 +395,8 @@ | |||
223 | 395 | +DROP TABLE t1; | 395 | +DROP TABLE t1; |
224 | 396 | +SET GLOBAL innodb_kill_idle_transaction=0; | 396 | +SET GLOBAL innodb_kill_idle_transaction=0; |
225 | 397 | +--source include/percona_innodb_kill_idle_trx_show.inc | 397 | +--source include/percona_innodb_kill_idle_trx_show.inc |
226 | 398 | --- /dev/null | ||
227 | 399 | +++ b/mysql-test/include/percona_innodb_kill_idle_trx_show.inc | ||
228 | 400 | @@ -0,0 +1,2 @@ | ||
229 | 401 | +SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction'; | ||
230 | 402 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction'; | ||
231 | 398 | 403 | ||
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 | 198 | MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la]) | 198 | MYSQL_PLUGIN_DYNAMIC(innodb_plugin, [ha_innodb_plugin.la]) |
237 | 199 | MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ | 199 | MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ |
238 | 200 | AC_CHECK_HEADERS(sched.h) | 200 | AC_CHECK_HEADERS(sched.h) |
239 | 201 | --- a/mysql-test/mysql-test-run.pl | ||
240 | 202 | +++ b/mysql-test/mysql-test-run.pl | ||
241 | 203 | @@ -157,7 +157,7 @@ | ||
242 | 204 | # executables will be used by the test suite. | ||
243 | 205 | our $opt_vs_config = $ENV{'MTR_VS_CONFIG'}; | ||
244 | 206 | |||
245 | 207 | -my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb,innodb_plugin"; | ||
246 | 208 | +my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb_plugin"; | ||
247 | 209 | my $opt_suites; | ||
248 | 210 | |||
249 | 211 | our $opt_verbose= 0; # Verbose output, enable with --verbose | ||
250 | 201 | 212 | ||
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 | 3876 | +--log-output=table,file --log-slow-queries | 3876 | +--log-output=table,file --log-slow-queries |
256 | 3877 | --- a/mysql-test/include/mtr_check.sql | 3877 | --- a/mysql-test/include/mtr_check.sql |
257 | 3878 | +++ b/mysql-test/include/mtr_check.sql | 3878 | +++ b/mysql-test/include/mtr_check.sql |
259 | 3879 | @@ -12,7 +12,8 @@ | 3879 | @@ -12,7 +12,9 @@ |
260 | 3880 | -- Dump all global variables except those | 3880 | -- Dump all global variables except those |
261 | 3881 | -- that are supposed to change | 3881 | -- that are supposed to change |
262 | 3882 | SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES | 3882 | SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES |
263 | 3883 | - WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; | 3883 | - WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; |
265 | 3884 | + WHERE variable_name != 'timestamp' | 3884 | + WHERE variable_name != 'timestamp' AND |
266 | 3885 | + variable_name != 'innodb_file_format_check' | ||
267 | 3885 | + ORDER BY VARIABLE_NAME; | 3886 | + ORDER BY VARIABLE_NAME; |
268 | 3886 | 3887 | ||
269 | 3887 | -- Dump all databases, there should be none | 3888 | -- Dump all databases, there should be none |
270 | @@ -4009,7 +4010,7 @@ | |||
271 | 4009 | +0 | 4010 | +0 |
272 | 4010 | --- /dev/null | 4011 | --- /dev/null |
273 | 4011 | +++ b/mysql-test/r/percona_server_variables_debug.result | 4012 | +++ b/mysql-test/r/percona_server_variables_debug.result |
275 | 4012 | @@ -0,0 +1,347 @@ | 4013 | @@ -0,0 +1,351 @@ |
276 | 4013 | +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1; | 4014 | +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1; |
277 | 4014 | +Variable_name | 4015 | +Variable_name |
278 | 4015 | +AUTOCOMMIT | 4016 | +AUTOCOMMIT |
279 | @@ -4111,6 +4112,7 @@ | |||
280 | 4111 | +INNODB_EXPAND_IMPORT | 4112 | +INNODB_EXPAND_IMPORT |
281 | 4112 | +INNODB_EXTRA_RSEGMENTS | 4113 | +INNODB_EXTRA_RSEGMENTS |
282 | 4113 | +INNODB_EXTRA_UNDOSLOTS | 4114 | +INNODB_EXTRA_UNDOSLOTS |
283 | 4115 | +INNODB_FAKE_CHANGES | ||
284 | 4114 | +INNODB_FAST_CHECKSUM | 4116 | +INNODB_FAST_CHECKSUM |
285 | 4115 | +INNODB_FAST_RECOVERY | 4117 | +INNODB_FAST_RECOVERY |
286 | 4116 | +INNODB_FAST_SHUTDOWN | 4118 | +INNODB_FAST_SHUTDOWN |
287 | @@ -4126,6 +4128,7 @@ | |||
288 | 4126 | +INNODB_IBUF_ACTIVE_CONTRACT | 4128 | +INNODB_IBUF_ACTIVE_CONTRACT |
289 | 4127 | +INNODB_IBUF_MAX_SIZE | 4129 | +INNODB_IBUF_MAX_SIZE |
290 | 4128 | +INNODB_IO_CAPACITY | 4130 | +INNODB_IO_CAPACITY |
291 | 4131 | +INNODB_KILL_IDLE_TRANSACTION | ||
292 | 4129 | +INNODB_LAZY_DROP_TABLE | 4132 | +INNODB_LAZY_DROP_TABLE |
293 | 4130 | +INNODB_LOCKS_UNSAFE_FOR_BINLOG | 4133 | +INNODB_LOCKS_UNSAFE_FOR_BINLOG |
294 | 4131 | +INNODB_LOCK_WAIT_TIMEOUT | 4134 | +INNODB_LOCK_WAIT_TIMEOUT |
295 | @@ -4194,6 +4197,7 @@ | |||
296 | 4194 | +LOG_OUTPUT | 4197 | +LOG_OUTPUT |
297 | 4195 | +LOG_QUERIES_NOT_USING_INDEXES | 4198 | +LOG_QUERIES_NOT_USING_INDEXES |
298 | 4196 | +LOG_SLAVE_UPDATES | 4199 | +LOG_SLAVE_UPDATES |
299 | 4200 | +LOG_SLOW_ADMIN_STATEMENTS | ||
300 | 4197 | +LOG_SLOW_FILTER | 4201 | +LOG_SLOW_FILTER |
301 | 4198 | +LOG_SLOW_QUERIES | 4202 | +LOG_SLOW_QUERIES |
302 | 4199 | +LOG_SLOW_RATE_LIMIT | 4203 | +LOG_SLOW_RATE_LIMIT |
303 | @@ -4360,7 +4364,7 @@ | |||
304 | 4360 | +WARNING_COUNT | 4364 | +WARNING_COUNT |
305 | 4361 | --- /dev/null | 4365 | --- /dev/null |
306 | 4362 | +++ b/mysql-test/r/percona_server_variables_release.result | 4366 | +++ b/mysql-test/r/percona_server_variables_release.result |
308 | 4363 | @@ -0,0 +1,344 @@ | 4367 | @@ -0,0 +1,348 @@ |
309 | 4364 | +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1; | 4368 | +SELECT Variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES ORDER BY 1; |
310 | 4365 | +Variable_name | 4369 | +Variable_name |
311 | 4366 | +AUTOCOMMIT | 4370 | +AUTOCOMMIT |
312 | @@ -4460,6 +4464,7 @@ | |||
313 | 4460 | +INNODB_EXPAND_IMPORT | 4464 | +INNODB_EXPAND_IMPORT |
314 | 4461 | +INNODB_EXTRA_RSEGMENTS | 4465 | +INNODB_EXTRA_RSEGMENTS |
315 | 4462 | +INNODB_EXTRA_UNDOSLOTS | 4466 | +INNODB_EXTRA_UNDOSLOTS |
316 | 4467 | +INNODB_FAKE_CHANGES | ||
317 | 4463 | +INNODB_FAST_CHECKSUM | 4468 | +INNODB_FAST_CHECKSUM |
318 | 4464 | +INNODB_FAST_RECOVERY | 4469 | +INNODB_FAST_RECOVERY |
319 | 4465 | +INNODB_FAST_SHUTDOWN | 4470 | +INNODB_FAST_SHUTDOWN |
320 | @@ -4475,6 +4480,7 @@ | |||
321 | 4475 | +INNODB_IBUF_ACTIVE_CONTRACT | 4480 | +INNODB_IBUF_ACTIVE_CONTRACT |
322 | 4476 | +INNODB_IBUF_MAX_SIZE | 4481 | +INNODB_IBUF_MAX_SIZE |
323 | 4477 | +INNODB_IO_CAPACITY | 4482 | +INNODB_IO_CAPACITY |
324 | 4483 | +INNODB_KILL_IDLE_TRANSACTION | ||
325 | 4478 | +INNODB_LAZY_DROP_TABLE | 4484 | +INNODB_LAZY_DROP_TABLE |
326 | 4479 | +INNODB_LOCKS_UNSAFE_FOR_BINLOG | 4485 | +INNODB_LOCKS_UNSAFE_FOR_BINLOG |
327 | 4480 | +INNODB_LOCK_WAIT_TIMEOUT | 4486 | +INNODB_LOCK_WAIT_TIMEOUT |
328 | @@ -4543,6 +4549,7 @@ | |||
329 | 4543 | +LOG_OUTPUT | 4549 | +LOG_OUTPUT |
330 | 4544 | +LOG_QUERIES_NOT_USING_INDEXES | 4550 | +LOG_QUERIES_NOT_USING_INDEXES |
331 | 4545 | +LOG_SLAVE_UPDATES | 4551 | +LOG_SLAVE_UPDATES |
332 | 4552 | +LOG_SLOW_ADMIN_STATEMENTS | ||
333 | 4546 | +LOG_SLOW_FILTER | 4553 | +LOG_SLOW_FILTER |
334 | 4547 | +LOG_SLOW_QUERIES | 4554 | +LOG_SLOW_QUERIES |
335 | 4548 | +LOG_SLOW_RATE_LIMIT | 4555 | +LOG_SLOW_RATE_LIMIT |
336 | 4549 | 4556 | ||
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 | 621 | OPT_IGNORE_BUILTIN_INNODB, | 621 | OPT_IGNORE_BUILTIN_INNODB, |
342 | 622 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, | 622 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, |
343 | 623 | OPT_DEFAULT_CHARACTER_SET_OLD, | 623 | OPT_DEFAULT_CHARACTER_SET_OLD, |
344 | 624 | @@ -6135,7 +6149,7 @@ | ||
345 | 625 | {"log-slow-admin-statements", OPT_LOG_SLOW_ADMIN_STATEMENTS, | ||
346 | 626 | "Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements " | ||
347 | 627 | "to the slow log if it is open.", &opt_log_slow_admin_statements, | ||
348 | 628 | - &opt_log_slow_admin_statements, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, | ||
349 | 629 | + &opt_log_slow_admin_statements, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0}, | ||
350 | 630 | {"log-slow-slave-statements", OPT_LOG_SLOW_SLAVE_STATEMENTS, | ||
351 | 631 | "Log slow statements executed by slave thread to the slow log if it is open.", | ||
352 | 632 | &opt_log_slow_slave_statements, | ||
353 | 633 | @@ -6836,6 +6850,36 @@ | 624 | @@ -6836,6 +6850,36 @@ |
354 | 634 | "microsecond precision.", | 625 | "microsecond precision.", |
355 | 635 | &long_query_time, &long_query_time, 0, GET_DOUBLE, | 626 | &long_query_time, &long_query_time, 0, GET_DOUBLE, |
356 | @@ -2600,3 +2591,81 @@ | |||
357 | 2600 | @@ -0,0 +1,2 @@ | 2591 | @@ -0,0 +1,2 @@ |
358 | 2601 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | 2592 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; |
359 | 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'; |
360 | 2594 | --- /dev/null | ||
361 | 2595 | +++ b/mysql-test/r/percona_log_slow_admin_statements-config_false.result | ||
362 | 2596 | @@ -0,0 +1,6 @@ | ||
363 | 2597 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
364 | 2598 | +Variable_name Value | ||
365 | 2599 | +log_slow_admin_statements OFF | ||
366 | 2600 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
367 | 2601 | +VARIABLE_NAME VARIABLE_VALUE | ||
368 | 2602 | +LOG_SLOW_ADMIN_STATEMENTS OFF | ||
369 | 2603 | --- /dev/null | ||
370 | 2604 | +++ b/mysql-test/r/percona_log_slow_admin_statements-config_foo.result | ||
371 | 2605 | @@ -0,0 +1,7 @@ | ||
372 | 2606 | +call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'"); | ||
373 | 2607 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
374 | 2608 | +Variable_name Value | ||
375 | 2609 | +log_slow_admin_statements OFF | ||
376 | 2610 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
377 | 2611 | +VARIABLE_NAME VARIABLE_VALUE | ||
378 | 2612 | +LOG_SLOW_ADMIN_STATEMENTS OFF | ||
379 | 2613 | --- /dev/null | ||
380 | 2614 | +++ b/mysql-test/r/percona_log_slow_admin_statements-config_true.result | ||
381 | 2615 | @@ -0,0 +1,6 @@ | ||
382 | 2616 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
383 | 2617 | +Variable_name Value | ||
384 | 2618 | +log_slow_admin_statements ON | ||
385 | 2619 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
386 | 2620 | +VARIABLE_NAME VARIABLE_VALUE | ||
387 | 2621 | +LOG_SLOW_ADMIN_STATEMENTS ON | ||
388 | 2622 | --- /dev/null | ||
389 | 2623 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.cnf | ||
390 | 2624 | @@ -0,0 +1,2 @@ | ||
391 | 2625 | +[mysqld.1] | ||
392 | 2626 | +log-slow-admin-statements=false | ||
393 | 2627 | --- /dev/null | ||
394 | 2628 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_false.test | ||
395 | 2629 | @@ -0,0 +1,2 @@ | ||
396 | 2630 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
397 | 2631 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
398 | 2632 | --- /dev/null | ||
399 | 2633 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.cnf | ||
400 | 2634 | @@ -0,0 +1,2 @@ | ||
401 | 2635 | +[mysqld.1] | ||
402 | 2636 | +log-slow-admin-statements=foo | ||
403 | 2637 | --- /dev/null | ||
404 | 2638 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_foo.test | ||
405 | 2639 | @@ -0,0 +1,3 @@ | ||
406 | 2640 | +call mtr.add_suppression("ignoring option '--log-slow-admin-statements' due to invalid value 'foo'"); | ||
407 | 2641 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
408 | 2642 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
409 | 2643 | --- /dev/null | ||
410 | 2644 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.cnf | ||
411 | 2645 | @@ -0,0 +1,2 @@ | ||
412 | 2646 | +[mysqld.1] | ||
413 | 2647 | +log-slow-admin-statements=true | ||
414 | 2648 | --- /dev/null | ||
415 | 2649 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config_true.test | ||
416 | 2650 | @@ -0,0 +1,2 @@ | ||
417 | 2651 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
418 | 2652 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
419 | 2653 | --- /dev/null | ||
420 | 2654 | +++ b/mysql-test/r/percona_log_slow_admin_statements-config.result | ||
421 | 2655 | @@ -0,0 +1,6 @@ | ||
422 | 2656 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
423 | 2657 | +Variable_name Value | ||
424 | 2658 | +log_slow_admin_statements ON | ||
425 | 2659 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; | ||
426 | 2660 | +VARIABLE_NAME VARIABLE_VALUE | ||
427 | 2661 | +LOG_SLOW_ADMIN_STATEMENTS ON | ||
428 | 2662 | --- /dev/null | ||
429 | 2663 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config.cnf | ||
430 | 2664 | @@ -0,0 +1,2 @@ | ||
431 | 2665 | +[mysqld.1] | ||
432 | 2666 | +log-slow-admin-statements | ||
433 | 2667 | --- /dev/null | ||
434 | 2668 | +++ b/mysql-test/t/percona_log_slow_admin_statements-config.test | ||
435 | 2669 | @@ -0,0 +1,2 @@ | ||
436 | 2670 | +SHOW GLOBAL VARIABLES like 'log_slow_admin_statements'; | ||
437 | 2671 | +SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_slow_admin_statements'; |
http:// jenkins. percona. com/view/ Percona% 20Server% 205.1/job/ percona- server- 5.1-centos/ 1/