Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.8.3, 10.9.1
Description
The buf_pool.flush_list_mutex became more contended after MDEV-27868 fixed a correctness issue that was caused by the performance fix MDEV-27774. We really should acquire and release buf_pool.flush_list_mutex at most once in mtr_t::commit() and reduce the amount of work performed while holding the mutex.
Attachments
Issue Links
- is caused by
-
MDEV-27868 buf_pool.flush_list is in the wrong order
-
- Closed
-
- relates to
-
MDEV-32269 InnoDB after ALTER TABLE…IMPORT TABLESPACE may not be crash safe
-
- Closed
-
My first attempt at fixing this could still be improved upon, by refactoring ReleaseModified and its caller so that buf_pool.flush_list_mutex will be acquired and released exactly once, and the correct insert position will be determined only once in case multiple previously clean pages were modified.