~ihanick/percona-server/5.1.59-innodb_log_archiving

« back to all changes in this revision

Viewing changes to patches/innodb_kill_idle_transaction.patch

  • Committer: Stewart Smith
  • Date: 2011-10-08 14:02:50 UTC
  • mfrom: (321.7.1 merge)
  • Revision ID: stewart@flamingspork.com-20111008140250-dwv6zt69x2lca97z
merge all fixes for innodb_plugin test suite fixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
   Implementation of Drop_table_error_handler::handle_error().
61
61
--- a/storage/innodb_plugin/handler/ha_innodb.cc
62
62
+++ b/storage/innodb_plugin/handler/ha_innodb.cc
63
 
@@ -2511,6 +2511,10 @@
 
63
@@ -2515,6 +2515,10 @@
64
64
 
65
65
        innobase_commit_concurrency_init_default();
66
66
 
71
71
        /* Since we in this module access directly the fields of a trx
72
72
        struct, and due to different headers and flags it might happen that
73
73
        mutex_t has a different size in this module and in InnoDB
74
 
@@ -11237,6 +11241,48 @@
 
74
@@ -11241,6 +11245,48 @@
75
75
        return(false);
76
76
 }
77
77
 
120
120
 static SHOW_VAR innodb_status_variables_export[]= {
121
121
   {"Innodb",                   (char*) &show_innodb_vars, SHOW_FUNC},
122
122
   {NullS, NullS, SHOW_LONG}
123
 
@@ -11480,6 +11526,15 @@
 
123
@@ -11484,6 +11530,15 @@
124
124
   "Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket",
125
125
   NULL, NULL, 500L, 1L, ~0L, 0);
126
126
 
136
136
 static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,
137
137
   PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY | PLUGIN_VAR_NOSYSVAR,
138
138
   "Number of file I/O threads in InnoDB.",
139
 
@@ -11762,6 +11817,7 @@
 
139
@@ -11772,6 +11827,7 @@
140
140
   MYSQL_SYSVAR(fast_checksum),
141
141
   MYSQL_SYSVAR(commit_concurrency),
142
142
   MYSQL_SYSVAR(concurrency_tickets),
189
189
 /* How much data manipulation language (DML) statements need to be delayed,
190
190
 in microseconds, in order to reduce the lagging of the purge thread. */
191
191
 UNIV_INTERN ulint      srv_dml_needed_delay = 0;
192
 
@@ -2549,6 +2557,36 @@
 
192
@@ -2552,6 +2560,36 @@
193
193
                old_sema = sema;
194
194
        }
195
195
 
245
245
+SET autocommit=0;
246
246
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
247
247
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
248
 
+Variable_name   Value
249
 
+innodb_kill_idle_transaction    0
 
248
+Variable_name  Value
 
249
+innodb_kill_idle_transaction   0
250
250
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
251
 
+VARIABLE_NAME   VARIABLE_VALUE
252
 
+INNODB_KILL_IDLE_TRANSACTION    0
 
251
+VARIABLE_NAME  VARIABLE_VALUE
 
252
+INNODB_KILL_IDLE_TRANSACTION   0
253
253
+SET GLOBAL innodb_kill_idle_transaction=1;
254
254
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
255
 
+Variable_name   Value
256
 
+innodb_kill_idle_transaction    1
 
255
+Variable_name  Value
 
256
+innodb_kill_idle_transaction   1
257
257
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
258
 
+VARIABLE_NAME   VARIABLE_VALUE
259
 
+INNODB_KILL_IDLE_TRANSACTION    1
 
258
+VARIABLE_NAME  VARIABLE_VALUE
 
259
+INNODB_KILL_IDLE_TRANSACTION   1
260
260
+BEGIN;
261
261
+INSERT INTO t1 VALUES (1),(2),(3);
262
262
+COMMIT;
277
277
+DROP TABLE t1;
278
278
+SET GLOBAL innodb_kill_idle_transaction=0;
279
279
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
280
 
+Variable_name   Value
281
 
+innodb_kill_idle_transaction    0
 
280
+Variable_name  Value
 
281
+innodb_kill_idle_transaction   0
282
282
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
283
 
+VARIABLE_NAME   VARIABLE_VALUE
284
 
+INNODB_KILL_IDLE_TRANSACTION    0
 
283
+VARIABLE_NAME  VARIABLE_VALUE
 
284
+INNODB_KILL_IDLE_TRANSACTION   0
285
285
--- /dev/null
286
286
+++ b/mysql-test/r/percona_innodb_kill_idle_trx_locks.result
287
287
@@ -0,0 +1,45 @@
289
289
+SET autocommit=0;
290
290
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
291
291
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
292
 
+Variable_name   Value
293
 
+innodb_kill_idle_transaction    0
 
292
+Variable_name  Value
 
293
+innodb_kill_idle_transaction   0
294
294
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
295
 
+VARIABLE_NAME   VARIABLE_VALUE
296
 
+INNODB_KILL_IDLE_TRANSACTION    0
 
295
+VARIABLE_NAME  VARIABLE_VALUE
 
296
+INNODB_KILL_IDLE_TRANSACTION   0
297
297
+SET GLOBAL innodb_kill_idle_transaction=5;
298
298
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
299
 
+Variable_name   Value
300
 
+innodb_kill_idle_transaction    5
 
299
+Variable_name  Value
 
300
+innodb_kill_idle_transaction   5
301
301
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
302
 
+VARIABLE_NAME   VARIABLE_VALUE
303
 
+INNODB_KILL_IDLE_TRANSACTION    5
 
302
+VARIABLE_NAME  VARIABLE_VALUE
 
303
+INNODB_KILL_IDLE_TRANSACTION   5
304
304
+BEGIN;
305
305
+INSERT INTO t1 VALUES (1),(2),(3);
306
306
+COMMIT;
325
325
+DROP TABLE t1;
326
326
+SET GLOBAL innodb_kill_idle_transaction=0;
327
327
+SHOW GLOBAL VARIABLES LIKE 'innodb_kill_idle_transaction';
328
 
+Variable_name   Value
329
 
+innodb_kill_idle_transaction    0
 
328
+Variable_name  Value
 
329
+innodb_kill_idle_transaction   0
330
330
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_kill_idle_transaction';
331
 
+VARIABLE_NAME   VARIABLE_VALUE
332
 
+INNODB_KILL_IDLE_TRANSACTION    0
 
331
+VARIABLE_NAME  VARIABLE_VALUE
 
332
+INNODB_KILL_IDLE_TRANSACTION   0
333
333
--- /dev/null
334
334
+++ b/mysql-test/t/percona_innodb_kill_idle_trx.test
335
335
@@ -0,0 +1,28 @@
395
395
+DROP TABLE t1;
396
396
+SET GLOBAL innodb_kill_idle_transaction=0;
397
397
+--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';