Merge lp:~laurynas-biveinis/percona-server/bug1235285 into lp:percona-server/5.6
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 460 | ||||
Proposed branch: | lp:~laurynas-biveinis/percona-server/bug1235285 | ||||
Merge into: | lp:percona-server/5.6 | ||||
Diff against target: |
114 lines (+36/-4) 2 files modified
Percona-Server/storage/innobase/include/sync0rw.ic (+15/-1) Percona-Server/storage/innobase/sync/sync0rw.cc (+21/-3) |
||||
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/bug1235285 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sergei Glushchenko (community) | g2 | Approve | |
Review via email: mp+189394@code.launchpad.net |
Description of the change
Fix bug 1235285 (Missed wakeup events in priority rw lock).
The following issues were found and addressed.
- high_priority_
high-priority X waiter coming after any S waits will not receive its
wakeup event. Fixed by adding high_priority flag arg to
rw_lock_
as needed.
- Since low-priority S acquisitions were made to wait instead of
acquire when a high-priority S lockers exist, it is possible to have
waiters on S releases now. This was not done before, and fixed by
adjusting rw_lock_
S unlocks too if needed.
http://
Approve