mariadb/storage
mariadb-DebarunBanerjee 040069f4ba MDEV-33431 Latching order violation reported fil_system.sys_space.latch and ibuf_pessimistic_insert_mutex
Issue:
------
The actual order of acquisition of the IBUF pessimistic insert mutex
(SYNC_IBUF_PESS_INSERT_MUTEX) and IBUF header page latch
(SYNC_IBUF_HEADER) w.r.t space latch (SYNC_FSP) differs from the order
defined in sync0types.h. It was not discovered earlier as the path to
ibuf_remove_free_page was not covered by the mtr test. Ideal order and
one defined in sync0types.h is as follows.
SYNC_IBUF_HEADER -> SYNC_IBUF_PESS_INSERT_MUTEX -> SYNC_FSP

In ibuf_remove_free_page, we acquire space latch earlier and we have
the order as follows resulting in the assert with innodb_sync_debug=on.
SYNC_FSP -> SYNC_IBUF_HEADER -> SYNC_IBUF_PESS_INSERT_MUTEX

Fix:
---
We do maintain this order in other places and there doesn't seem to be
any real issue here. To reduce impact in GA versions, we avoid doing
extensive changes in mutex ordering to match the current
SYNC_IBUF_PESS_INSERT_MUTEX order. Instead we relax the ordering check
for IBUF pessimistic insert mutex using SYNC_NO_ORDER_CHECK.
2024-04-17 15:16:50 +05:30
..
archive Merge branch '10.4' into 10.5 2023-11-08 12:59:00 +01:00
blackhole Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
cassandra Merge commit '10.4' into 10.5 2023-07-20 11:54:52 +02:00
columnstore MDEV-33290: Disable ColumnStore based on boost version (post-postfix) 2024-04-05 12:40:49 +02:00
connect MDEV-33439 Fix build with libxml2 2.12 2024-02-13 16:40:58 +11:00
csv
example Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
federated Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
federatedx Merge branch '10.4' into 10.5 2024-01-31 17:32:53 +01:00
heap Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
innobase MDEV-33431 Latching order violation reported fil_system.sys_space.latch and ibuf_pessimistic_insert_mutex 2024-04-17 15:16:50 +05:30
maria Merge 10.4 into 10.5 2024-03-11 10:08:20 +02:00
mroonga MDEV-33723 Mroonga ignored WITHOUT_DYNAMIC_PLUGINS 2024-03-19 13:12:56 +01:00
myisam MDEV-33478: Tests massively fail with clang-18 -fsanitize=memory 2024-03-18 16:01:29 +02:00
myisammrg MDEV-31083 ASAN use-after-poison in myrg_attach_children 2023-05-23 09:16:36 +03:00
oqgraph Merge 10.4 into 10.5 2023-09-11 11:29:31 +03:00
perfschema Fix g++-14 -Wtemplate-id-cdtor 2024-04-11 15:51:30 +03:00
rocksdb Merge 10.4 into 10.5 2024-02-12 11:38:13 +02:00
sequence Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
sphinx Merge branch '10.4' into 10.5 2024-01-10 18:01:46 +11:00
spider Merge branch '10.4' into 10.5 2024-04-16 11:04:14 +02:00
test_sql_discovery Merge remote-tracking branch 'origin/10.4' into 10.5 2022-09-14 16:24:51 +04:00
tokudb Merge 10.4 into 10.5 2024-02-12 11:38:13 +02:00