1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
Mohammad Tafzeel Shams fed04cb77f MDEV-40404 : Assertion '!lock.is_locked_or_waiting()' failed in buf_page_t::init()
A locking read on a SPATIAL INDEX collects the matching records into a
shadow block matched_rec_t::block. sel_set_rtr_rec_lock() holds page.lock
on that block while it locks the records, because lock_rec_lock() asserts
that the block of the record being locked is latched. If a lock request
has to wait, the records are collected again after the wait, and
rtr_init_match() re-initializes the block by buf_page_t::init(), which
asserts that the block is not latched.

The assertion is about a latch that would be a leftover from the previous
identity of the block. It does not apply to rtr_init_match(), where the
block is in buf_page_t::MEMORY state, private to the current thread, which
is holding page.lock on it on purpose.

Changes:

- buf_page_t::init(): Tolerate a latch that the current thread is holding
on a block that is being initialized in buf_page_t::MEMORY state.
2026-10-13 15:15:34 +05:30
..
2026-08-19 08:40:05 +02:00
2024-12-02 11:35:34 +02:00
2026-08-30 17:39:50 +02:00
2026-08-19 08:40:05 +02:00
2026-08-19 08:40:05 +02:00
2026-10-13 07:04:14 +03:00
2026-08-19 08:40:05 +02:00
2026-10-13 07:04:14 +03:00
2026-06-15 12:50:45 +02:00
2026-08-19 08:40:05 +02:00
2026-08-30 17:39:50 +02:00
2024-07-08 22:40:16 +02:00
2024-12-02 11:35:34 +02:00
2026-07-28 13:14:38 +02:00
2024-06-24 13:09:47 +03:00