Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5(EOL), 10.0(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
Description
The function ibuf_dummy_index_create() is creating dummy dict_index_t objects for applying buffered changes. The rw_lock_create() call in this function should be totally unnecessary, because there should be no need to access dict_index_t::lock in those dummy objects at all. We should avoid registering the dummy objects in any global lists.
When MDEV-11634 implements a more compact change buffer format, that entire code should be removed, or only kept for the purpose of upgrading.
Attachments
Issue Links
- relates to
-
MDEV-11634 Improve the InnoDB change buffer
-
- Closed
-
-
MDEV-31886 Server fails to shut down storage engine plugins when thread_stack is set to the smallest negative value
-
- Confirmed
-
https://jira.mariadb.org/secure/attachment/52240/2020-06-18%20%282%29.png shows profile snippet of a memory-constrained benchmark (update_index) for which doublewrite was disabled, but change buffer was on.
rw_lock_create_func()/rw_lock_free_func() account for more than 2/3 of all mutex contentions, and more than 10% of CPU samples.