Bug #119290 SELECT statement is affected by concurrent transaction under Read Uncommitted
Submitted: 2 Nov 2025 15:06 Modified: 7 Nov 2025 7:43
Reporter: Dai Dinary Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:9.3.0, 9.5.0 OS:Any
Assigned to: CPU Architecture:Any
Tags: ISOLATION, read uncommitted, transaction

[2 Nov 2025 15:06] Dai Dinary
Description:
Isolation Level: Read Uncommitted.
The SELECT statement is affected by the blocked statement in another concurrent transaction. 

How to repeat:
/* init */ DROP TABLE IF EXISTS t;
/* init */ CREATE TABLE t(c1 INT NOT NULL, c2 INT NOT NULL);
/* init */ INSERT INTO t(c1,c2) VALUES (2, 2);
 
/* t1 */ BEGIN;
/* t2 */ BEGIN;
/* t2 */ INSERT INTO t(c1,c2) VALUES (5, 5);
/* t2 */ SELECT * FROM t; -- [(2, 2), (5, 5)]
/* t1 */ SELECT * FROM t; -- [(2, 2), (5, 5)]
/* t1 */ DELETE FROM t WHERE TRUE; -- blocked
/* t2 */ SELECT * FROM t ; -- [(5, 5)]
/* t2 */ COMMIT; -- t1 unblocked
/* t1 */ COMMIT;

When the DELETE statement in transaction t1 is blocked, strangely, the second SELECT statement in transaction t2 only retrieved (5, 5), but failed to retrieve (2, 2).
[7 Nov 2025 7:43] Dai Dinary
add more affected version