mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#21579 - innodb_concurrent random failures with varying differences
Due to unknown changes the test failed in some ways. Fixed by checking the test case in detail, commenting the expected behavior, and fixing error directives. In the course of the analyze unneeded get_lock()/release_lock() use, unneeded send/reap use, and unneeded sleeps were removed. The lock wait timeout was reduced to 1 second, so that this is no big-test any more. The test was split into two parts, one running the tests with --innodb_locks_unsafe_for_binlog, the other part without. The main part (include/concurrent.inc) conditionally expects lock wait timeouts based on the value of the system variable innodb_locks_unsafe_for_binlog. The major part of the patch comes from Kristofer Pettersson. (Chad queues this patch on demand by Trudy/Davi.)
This commit is contained in:
@ -1,20 +0,0 @@
|
||||
# t/concurrent_innodb.test
|
||||
#
|
||||
# Concurrent InnoDB tests, mainly in UPDATE's
|
||||
# Bug#3300
|
||||
# Designed and tested by Sinisa Milivojevic, sinisa@mysql.com
|
||||
#
|
||||
# two non-interfering UPDATE's not changing result set
|
||||
#
|
||||
# Last update:
|
||||
# 2006-07-26 ML test refactored (MySQL 5.1)
|
||||
# main code t/innodb_concurrent.test -> include/concurrent.inc
|
||||
# new wrapper t/concurrent_innodb.test
|
||||
|
||||
# test takes circa 5 minutes to run, so it's big
|
||||
--source include/big_test.inc
|
||||
|
||||
--source include/have_innodb.inc
|
||||
let $engine_type= InnoDB;
|
||||
|
||||
--source include/concurrent.inc
|
1
mysql-test/t/concurrent_innodb_safelog-master.opt
Normal file
1
mysql-test/t/concurrent_innodb_safelog-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb_lock_wait_timeout=1
|
23
mysql-test/t/concurrent_innodb_safelog.test
Normal file
23
mysql-test/t/concurrent_innodb_safelog.test
Normal file
@ -0,0 +1,23 @@
|
||||
# t/concurrent_innodb_safelog.test
|
||||
#
|
||||
# Concurrent InnoDB tests
|
||||
#
|
||||
# Last update:
|
||||
# 2006-07-26 ML test refactored (MySQL 5.1)
|
||||
# main code t/innodb_concurrent.test -> include/concurrent.inc
|
||||
# new wrapper t/concurrent_innodb.test
|
||||
# 2008-06-03 KP test refactored; removed name locks, added comments.
|
||||
# renamed wrapper t/concurrent_innodb.test ->
|
||||
# t/concurrent_innodb_unsafelog.test
|
||||
# new wrapper t/concurrent_innodb_safelog.test
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
let $engine_type= InnoDB;
|
||||
|
||||
SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;
|
||||
# innodb_locks_unsafe_for_binlog not set for this test
|
||||
|
||||
--source include/concurrent.inc
|
||||
|
@ -1 +1,2 @@
|
||||
--innodb_locks_unsafe_for_binlog
|
||||
--innodb_lock_wait_timeout=1
|
23
mysql-test/t/concurrent_innodb_unsafelog.test
Normal file
23
mysql-test/t/concurrent_innodb_unsafelog.test
Normal file
@ -0,0 +1,23 @@
|
||||
# t/concurrent_innodb_unsafelog.test
|
||||
#
|
||||
# Concurrent InnoDB tests
|
||||
#
|
||||
# Last update:
|
||||
# 2006-07-26 ML test refactored (MySQL 5.1)
|
||||
# main code t/innodb_concurrent.test -> include/concurrent.inc
|
||||
# new wrapper t/concurrent_innodb.test
|
||||
# 2008-06-03 KP test refactored; removed name locks, added comments.
|
||||
# renamed wrapper t/concurrent_innodb.test ->
|
||||
# t/concurrent_innodb_unsafelog.test
|
||||
# new wrapper t/concurrent_innodb_safelog.test
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
let $engine_type= InnoDB;
|
||||
|
||||
SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;
|
||||
# innodb_locks_unsafe_for_binlog is set fro this test.
|
||||
|
||||
--source include/concurrent.inc
|
||||
|
Reference in New Issue
Block a user