1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-35281 SR transaction crashes with innodb_snapshot_isolation

Ignore snapshot isolation conflict during fragment removal, before
streaming transaction commits. This happens when a streaming
transaction creates a read view that precedes the INSERTion of
fragments into the streaming_log table. Fragments are INSERTed
using a different transaction. These fragment are then removed
as part of COMMIT of the streaming transaction. This fragment
removal operation could fail when the fragments were not part
the transaction's read view, thus violating snapshot isolation.
This commit is contained in:
Daniele Sciascia
2024-10-29 10:47:20 +01:00
parent f5aed74573
commit e821c9fa7c
5 changed files with 74 additions and 4 deletions

View File

@@ -0,0 +1,9 @@
connection node_2;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
SET SESSION wsrep_trx_fragment_size=1;
SET SESSION innodb_snapshot_isolation=ON;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
INSERT INTO t1 VALUES (1);
COMMIT;
DROP TABLE t1;