Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.6
Description
The fix of MDEV-24671 introduced a serious performance regression that is observable at 32 concurrent connections.
My current hypothesis based on some initial investigation is that the changed sizeof(trx->lock) caused an increase of cache misses.
Attachments
Issue Links
- causes
-
MDEV-25016 Race condition between lock_sys_t::cancel() and page split or merge
-
- Closed
-
-
MDEV-25371 Potential hang in wsrep_is_BF_lock_timeout()
-
- Closed
-
-
MDEV-26883 InnoDB hang due to table lock conflict
-
- Closed
-
- is caused by
-
MDEV-24671 Assertion failure in lock_wait_table_reserve_slot()
-
- Closed
-
- relates to
-
MDEV-25016 Race condition between lock_sys_t::cancel() and page split or merge
-
- Closed
-
Reducing sizeof(trx_lock_t) did not help (I did it anyway), but some refactoring to reduce the hold time of lock_sys.mutex and lock_sys.wait_mutex seems to have done the trick. Thanks to axel for helping with the analysis and validation!