[MDEV-6614] Merge InnoDB: fix index->lock contention from MySQL 5.7 Created: 2014-08-20 Updated: 2017-02-20 Resolved: 2016-09-21 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 10.2.2 |
| Type: | Task | Priority: | Major |
| Reporter: | Jan Lindström (Inactive) | Assignee: | Jan Lindström (Inactive) |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | innodb, xtradb | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
The acquisition of node pointer page latches is protected by index->lock latch.Currently, index->lock protected all node pointer pages either in S or X mode, and no individual block->lock were acquired on node pointer pages. With this fix, node pointer pages are protected by individual block->lock, S-latch or X-latch. The acquisition of node pointer page latches is covered by index->lock, for preventing deadlocks. InnoDB internally uses rw-lock implementation to keep consistency of internal At least, S-lock and X-lock behave same, and compatible for current code. So, The new state SX-lock will be used by the future work. (e.g. WL#6326: InnoDB:
|