Bug #47436 Transaction isolation level SERIALIZABLE becomes REPEATABLE-READ
Submitted: 18 Sep 12:27 Modified: 18 Sep 13:22
Reporter: Pavel Pushkarev
Status: Duplicate
Category:Server: General Severity:S2 (Serious)
Version:5.1.38 OS:Linux
Assigned to: Target Version:
Tags: repeatable read, SERIALIZABLE, transaction

[18 Sep 12:27] Pavel Pushkarev
Description:
The explicitly set transaction isolation level is changed inside a transaction.

Server version: 5.1.38 MySQL Community Server (GPL)

How to repeat:
mysql> create table a ( a int ) engine = innodb;
Query OK, 0 rows affected (0.07 sec)

mysql> insert a values (1);
Query OK, 1 row affected (0.01 sec)

mysql> set transaction isolation level serializable;
Query OK, 0 rows affected (0.00 sec)

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@tx_isolation;
+----------------+
| @@tx_isolation |
+----------------+
| SERIALIZABLE   | 
+----------------+
1 row in set (0.00 sec)

mysql> select * from a;
+------+
| a    |
+------+
|    1 | 
+------+
1 row in set (0.00 sec)

mysql> select @@tx_isolation;
+-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ | 
+-----------------+
1 row in set (0.00 sec)
[18 Sep 12:49] Valeriy Kravchuk
Looks like a duplicate of bug #20837. Please, check.
[18 Sep 13:20] Pavel Pushkarev
Yes it is, haven't found that one through the search.

If possible, set the #20837 priority to serious: the bug cannot be "non critical" if it
changes between isolation levels that easily.
[18 Sep 13:22] Susanne Ebrecht
This is a duplicate of bug #20837