1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-22 19:52:58 +03:00
Files
mariadb/sql
Denis Protivensky 4e2c02a12c MDEV-33133: MDL conflict handling code should skip BF-aborted trxs
It's possible that MDL conflict handling code is called more
than once for a transaction when:
- it holds more than one conflicting MDL lock
- reschedule_waiters() is executed,
which results in repeated attempts to BF-abort already aborted
transaction.
In such situations, it might be that BF-aborting logic sees
a partially rolled back transaction and erroneously decides
on future actions for such a transaction.

The specific situation tested and fixed is when a SR transaction
applied in the node gets BF-aborted by a started TOI operation.
It's then caught with the server transaction already rolled back,
but with no MDL locks yet released. This caused wrong state
detection for such a transaction during repeated MDL conflict
handling code execution.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2024-09-03 07:45:57 +02:00
..
2023-11-08 15:57:05 +01:00
2024-05-08 20:06:00 +02:00
2024-08-12 09:32:30 +01:00
2022-04-06 12:08:30 +03:00
2024-06-24 13:09:47 +03:00
2024-03-18 17:07:32 +02:00
2024-01-17 13:35:05 +02:00
2023-01-27 13:54:14 +01:00
2024-06-24 13:09:47 +03:00
2023-12-17 11:20:43 +01:00
2022-09-05 14:05:30 +03:00
2023-08-15 11:21:34 +03:00
2024-06-07 10:03:51 +03:00
2024-07-18 16:25:33 +02:00
2023-02-10 12:02:11 +02:00
2023-08-04 12:14:00 +02:00
2023-12-17 11:20:43 +01:00
2023-02-10 12:02:11 +02:00
2024-06-24 13:09:47 +03:00
2023-12-18 08:59:07 +02:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2023-02-10 12:02:11 +02:00
2024-05-30 14:27:07 +03:00
2024-08-14 10:56:11 +03:00
2024-08-27 08:52:10 +03:00
2024-06-24 13:09:47 +03:00
2023-12-02 01:02:50 +01:00
2024-07-18 16:25:33 +02:00
2024-07-18 16:25:33 +02:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2024-06-07 10:03:51 +03:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-07-18 16:25:33 +02:00
2024-07-18 16:25:33 +02:00
2024-07-16 15:54:22 +08:00
2024-06-07 10:03:51 +03:00
2024-07-16 15:54:22 +08:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-08-03 09:04:24 +02:00
2024-08-29 11:28:01 +02:00
2024-08-03 09:04:24 +02:00
2023-11-08 15:57:05 +01:00
2024-06-26 09:16:54 +08:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2024-08-14 10:56:11 +03:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2023-06-26 17:11:38 +03:00
2024-05-30 14:27:07 +03:00
2023-02-10 13:03:01 +02:00
2024-07-03 13:27:23 +02:00
2024-06-24 13:09:47 +03:00
2024-05-08 20:06:00 +02:00
2022-06-09 12:22:55 +03:00
2023-01-10 13:54:17 +02:00
2024-06-24 13:09:47 +03:00
2024-01-17 13:35:05 +02:00
2022-10-02 22:14:21 +02:00
2024-06-24 13:09:47 +03:00
2023-02-10 12:02:11 +02:00
2022-10-25 14:25:42 +03:00
2024-07-16 15:54:22 +08:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2022-09-26 14:34:43 +03:00
2024-06-24 13:09:47 +03:00
2023-11-08 12:59:00 +01:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2024-06-07 10:03:51 +03:00
2023-08-01 15:08:52 +02:00
2023-02-10 12:02:11 +02:00
2023-02-10 12:02:11 +02:00
2024-06-24 13:09:47 +03:00
2024-08-27 08:52:10 +03:00
2024-08-27 08:52:10 +03:00
2024-05-08 20:06:00 +02:00
2022-01-04 09:26:38 +02:00
2024-07-09 11:56:47 +02:00
2023-05-02 10:09:27 +02:00
2024-04-15 17:46:49 +02:00
2024-04-17 14:14:58 +03:00
2024-06-24 13:09:47 +03:00
2023-11-08 15:57:05 +01:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2022-12-13 16:58:58 +02:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2024-07-18 16:25:33 +02:00
2024-06-24 13:09:47 +03:00
2023-12-17 11:20:43 +01:00
2024-06-24 13:09:47 +03:00
2024-07-18 16:25:33 +02:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2022-09-20 13:17:02 +03:00
2024-08-20 09:11:34 +02:00
2024-06-24 13:09:47 +03:00
2024-01-17 13:35:05 +02:00
2023-02-10 12:02:11 +02:00
2022-08-02 16:35:15 +10:00
2024-04-11 13:58:22 +02:00
2023-02-10 12:02:11 +02:00
2024-08-14 10:56:11 +03:00
2024-05-30 14:27:07 +03:00
2022-12-05 18:04:23 +02:00
2024-01-11 12:59:22 +11:00
2024-01-10 18:01:46 +11:00
2024-06-24 13:09:47 +03:00
2024-05-30 14:27:07 +03:00
2023-02-10 13:03:01 +02:00
2024-08-20 09:11:34 +02:00
2024-08-03 09:04:24 +02:00
2024-08-20 09:11:34 +02:00
2024-08-20 09:11:34 +02:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-02-12 11:38:13 +02:00
2024-05-30 14:27:07 +03:00
2023-02-15 15:08:16 +02:00
2022-05-06 11:11:04 +03:00
2024-08-20 09:11:34 +02:00
2024-06-24 13:09:47 +03:00
2024-07-16 15:54:22 +08:00
2024-06-24 13:09:47 +03:00
2023-05-23 12:25:39 +03:00
2024-07-16 15:54:22 +08:00
2024-06-10 15:22:15 +03:00
2024-06-05 14:06:16 +10:00
2024-04-15 18:54:30 +02:00
2022-09-05 14:05:30 +03:00
2024-07-03 12:45:30 +02:00
2023-08-04 07:52:54 +02:00
2024-02-08 10:38:53 +02:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2024-05-08 20:06:00 +02:00
2022-09-05 14:05:30 +03:00
2024-05-30 14:27:07 +03:00
2023-12-02 01:02:50 +01:00
2024-02-12 11:38:13 +02:00
2024-06-24 13:09:47 +03:00
2023-04-11 16:15:19 +03:00
2024-06-24 13:09:47 +03:00
2024-03-27 15:00:56 +02:00
2024-07-16 15:54:22 +08:00
2024-05-30 14:27:07 +03:00
2024-02-13 20:42:59 +02:00
2024-06-13 19:58:11 +03:00
2024-06-24 13:09:47 +03:00
2022-10-02 22:14:21 +02:00
2023-09-25 13:06:57 +10:00
2024-01-17 13:35:05 +02:00
2023-08-01 15:08:52 +02:00
2024-08-14 10:56:11 +03:00
2024-08-14 10:56:11 +03:00
2022-09-26 13:34:38 +03:00
2024-05-08 20:06:00 +02:00
2024-08-20 09:11:34 +02:00
2024-01-11 12:59:22 +11:00
2022-10-25 14:25:42 +03:00
2024-08-03 09:04:24 +02:00
2022-08-10 13:06:08 +02:00
2024-06-10 15:22:15 +03:00
2024-01-10 18:01:46 +11:00
2024-09-01 06:51:25 +02:00
2024-06-24 13:09:47 +03:00
2024-06-24 13:09:47 +03:00
2024-06-07 10:03:51 +03:00
2023-02-10 12:02:11 +02:00
2024-02-13 20:42:59 +02:00
2023-01-03 18:13:11 +02:00
2023-02-10 12:02:11 +02:00
2024-01-02 17:37:58 +02:00
2024-01-03 14:24:47 +02:00
2024-09-01 06:51:25 +02:00
2022-06-27 10:14:37 +03:00
2024-01-03 14:24:47 +02:00
2024-01-03 14:24:47 +02:00
2023-12-21 11:30:32 +02:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00