Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDEV-11418 - AliSQL: [Feature] Issue#1 KILL IDLE TRANSACTIONS
Terminate idle transactions safely in server layer by setting up socket timeout parameter. Percona provides another patch to resolve similar problem, but it calls server layer's callback in InnoDB plugin to close THD, which crashes in some testcases. See https://bugs.launchpad.net/percona-server/+bug/901060 for more detailed information. 1. export parameter trx_idle_timeout to handle all kinds of transactions, the priority is highest 2. export parameter trx_readonly_idle_timeout to handle read-only transactions 3. export parameter trx_changes_idle_timeout to handle read-write transactions
- Loading branch information
Sergey Vojtovich
committed
Mar 22, 2017
1 parent
8026cd6
commit af22a70
Showing
11 changed files
with
263 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
CREATE TABLE t1 (a INT) ENGINE=InnoDB; | ||
# Test idle_transaction_timeout | ||
connect c0,localhost,root,,test,,; | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
Variable_name Value | ||
idle_readonly_transaction_timeout 0 | ||
idle_readwrite_transaction_timeout 0 | ||
idle_transaction_timeout 0 | ||
SET autocommit=0; | ||
SET idle_transaction_timeout=1; | ||
BEGIN; | ||
SELECT * FROM t1; | ||
a | ||
SELECT * FROM t1; | ||
Got one of the listed errors | ||
disconnect c0; | ||
# Test idle_readonly_transaction_timeout | ||
connect c1,localhost,root,,test,,; | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
Variable_name Value | ||
idle_readonly_transaction_timeout 0 | ||
idle_readwrite_transaction_timeout 0 | ||
idle_transaction_timeout 0 | ||
SET autocommit=0; | ||
SET idle_readonly_transaction_timeout=1; | ||
BEGIN; | ||
SELECT * FROM t1; | ||
a | ||
SELECT * FROM t1; | ||
Got one of the listed errors | ||
disconnect c1; | ||
# Test idle_readwrite_transaction_timeout | ||
connect c2,localhost,root,,test,,; | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
Variable_name Value | ||
idle_readonly_transaction_timeout 0 | ||
idle_readwrite_transaction_timeout 0 | ||
idle_transaction_timeout 0 | ||
SET autocommit=0; | ||
SET idle_readwrite_transaction_timeout=1; | ||
BEGIN; | ||
SELECT * FROM t1; | ||
a | ||
SELECT * FROM t1; | ||
a | ||
INSERT INTO t1 VALUES (1); | ||
SELECT * FROM t1; | ||
Got one of the listed errors | ||
disconnect c2; | ||
connection default; | ||
DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
--source include/no_protocol.inc | ||
--source include/have_innodb.inc | ||
--source include/not_embedded.inc | ||
|
||
CREATE TABLE t1 (a INT) ENGINE=InnoDB; | ||
|
||
--echo # Test idle_transaction_timeout | ||
connect (c0,localhost,root,,test,,); | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
SET autocommit=0; | ||
SET idle_transaction_timeout=1; | ||
|
||
BEGIN; | ||
SELECT * FROM t1; | ||
sleep 2; | ||
|
||
--error 2006,2013 | ||
SELECT * FROM t1; | ||
disconnect c0; | ||
|
||
--echo # Test idle_readonly_transaction_timeout | ||
connect (c1,localhost,root,,test,,); | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
SET autocommit=0; | ||
SET idle_readonly_transaction_timeout=1; | ||
|
||
BEGIN; | ||
SELECT * FROM t1; | ||
sleep 2; | ||
|
||
--error 2006,2013 # Gone away | ||
SELECT * FROM t1; | ||
disconnect c1; | ||
|
||
--echo # Test idle_readwrite_transaction_timeout | ||
connect (c2,localhost,root,,test,,); | ||
SHOW VARIABLES LIKE 'idle_%transaction_timeout'; | ||
SET autocommit=0; | ||
SET idle_readwrite_transaction_timeout=1; | ||
|
||
BEGIN; | ||
SELECT * FROM t1; | ||
sleep 2; | ||
|
||
SELECT * FROM t1; | ||
INSERT INTO t1 VALUES (1); | ||
sleep 2; | ||
|
||
--error 2006, 2013 # Gone away | ||
SELECT * FROM t1; | ||
disconnect c2; | ||
|
||
connection default; | ||
DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters