1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-35124 Set innodb_snapshot_isolation=ON by default

From the very beginning, the default InnoDB transaction isolation level
REPEATABLE READ does not correspond to any well formed definition.
The main issue is the lack of write/write conflict detection.
To fix that and to make REPEATABLE READ correspond to Snapshot Isolation,
b8a6719889 introduced the Boolean
session variable innodb_snapshot_isolation. It was disabled by default
in order not to break any user applications.

In a new major version of MariaDB Server, we had better enable this
parameter by default.
This commit is contained in:
Marko Mäkelä
2024-10-11 15:02:31 +03:00
parent 26dce1cec3
commit 4e1e9ea6f3
28 changed files with 35 additions and 3 deletions

View File

@ -18,6 +18,8 @@ let $engine_type= InnoDB;
SET @save_timeout = @@GLOBAL.innodb_lock_wait_timeout;
SET GLOBAL innodb_lock_wait_timeout = 1;
SET @save_snapshot_isolation = @@GLOBAL.innodb_snapshot_isolation;
SET GLOBAL innodb_snapshot_isolation = OFF;
SET @save_isolation = @@GLOBAL.transaction_isolation;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
--disable_service_connection
@ -25,3 +27,4 @@ SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
--enable_service_connection
SET GLOBAL innodb_lock_wait_timeout = @save_timeout;
SET GLOBAL transaction_isolation = @save_isolation;
SET GLOBAL innodb_snapshot_isolation = @save_snapshot_isolation;