summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-07-07 11:34:26 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2018-07-07 11:34:26 +0300
commit1cc1d0429da14a041a6240c6fce17e0d31cad8e2 (patch)
tree28b828ab8b4430a6e697a7162f50a8ef01f6d2b0
parent8b0d4cff0760b0a35285c315d82c49631c108baf (diff)
downloadmariadb-git-1cc1d0429da14a041a6240c6fce17e0d31cad8e2.tar.gz
MDEV-16664: Change the default to innodb_lock_schedule_algorithm=fcfs
The parameter innodb_lock_schedule_algorithm was introduced in MariaDB Server 10.1.19, 10.2.13, 10.3.4 as part of MDEV-11039. In MariaDB 10.1, the default value of the parameter is 'fcfs', that is, the existing algorithm is used by default. But in later versions of MariaDB Server, the parameter was 'vats', enabling the new algorithm. Because the new algorithm is triggering a debug assertion failure that suggests corruption of the transactional lock data structures, we will revert to the old algorithm by default until we have resolved the problem.
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb.result4
-rw-r--r--storage/innobase/handler/ha_innodb.cc2
2 files changed, 3 insertions, 3 deletions
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
index 651461860a2..894f9a95ccb 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
@@ -1604,9 +1604,9 @@ READ_ONLY YES
COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME INNODB_LOCK_SCHEDULE_ALGORITHM
SESSION_VALUE NULL
-GLOBAL_VALUE vats
+GLOBAL_VALUE fcfs
GLOBAL_VALUE_ORIGIN COMPILE-TIME
-DEFAULT_VALUE vats
+DEFAULT_VALUE fcfs
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE ENUM
VARIABLE_COMMENT The algorithm Innodb uses for deciding which locks to grant next when a lock is released. Possible values are FCFS grant the locks in First-Come-First-Served order; VATS use the Variance-Aware-Transaction-Scheduling algorithm, which uses an Eldest-Transaction-First heuristic.
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index e9d7a6d94df..deb6f05e853 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -20424,7 +20424,7 @@ static MYSQL_SYSVAR_ENUM(lock_schedule_algorithm, innodb_lock_schedule_algorithm
" VATS"
" use the Variance-Aware-Transaction-Scheduling algorithm, which"
" uses an Eldest-Transaction-First heuristic.",
- NULL, NULL, INNODB_LOCK_SCHEDULE_ALGORITHM_VATS,
+ NULL, NULL, INNODB_LOCK_SCHEDULE_ALGORITHM_FCFS,
&innodb_lock_schedule_algorithm_typelib);
static MYSQL_SYSVAR_ULONG(buffer_pool_instances, srv_buf_pool_instances,