Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
InnoDB data dictionary cache is protected by both dict_sys.latch (an RW-lock) and dict_sys.mutex. One reason for the redundant synchronization primitive would be eliminated by MDEV-24167: the rw-lock should not be slower than a mutex.
Another reason for keeping a separate mutex is that sometimes, the mutex provides a mechanism to ‘upgrade’ the rw-lock. The most prominent case of that would be removed by MDEV-23484, if we could guarantee that transaction rollback is always protected by MDL. Currently, the rollback of recovered transactions is not being protected by MDL.
Attachments
Issue Links
- blocks
-
MDEV-25919 InnoDB reports misleading lock wait timeout on DDL operations
-
- Closed
-
- causes
-
MDEV-26551 InnoDB crash on multiple concurrent SHOW TABLE STATUS
-
- Closed
-
- is blocked by
-
MDEV-23484 Rollback unnecessarily acquires dict_operation_lock for every row
-
- Closed
-
-
MDEV-24167 InnoDB unnecessarily uses complex rw-lock implementation
-
- Closed
-
- relates to
-
MDEV-16260 Scale the purge effort according to the workload
-
- Open
-
-
MDEV-26356 Performance regression after dict_sys.mutex removal
-
- Closed
-
-
MDEV-26636 Race conditions due to attempted updates of InnoDB defragmentation statistics for temporary tables
-
- Closed
-
-
MDEV-28289 fts_optimize_sync_table() is acquiring dict_sys.latch while holding it
-
- Closed
-
-
MDEV-28462 AddressSanitizer: use-after-poison dict_index_t::get_n_nullable(unsigned long) const
-
- Closed
-
-
MDEV-29846 deadlock on dict_sys.mutex on database drop
-
- Open
-
-
MDEV-31759 Large grain of dict_sys lock by table creation affects performance
-
- Closed
-
Activity
Transition | Time In Source Status | Execution Times |
---|
|
250d 5h 1m | 1 |
|
1d 20h 29m | 1 |
|
3m 34s | 1 |
|
27d 4h 23m | 1 |
|
4d 19h 43m | 1 |