Merge lp:~laurynas-biveinis/percona-server/bug1224432 into lp:percona-server/5.6

Proposed by Laurynas Biveinis
Status: Merged
Approved by: Sergei Glushchenko
Approved revision: no longer in the source branch.
Merged at revision: 456
Proposed branch: lp:~laurynas-biveinis/percona-server/bug1224432
Merge into: lp:percona-server/5.6
Diff against target: 11 lines (+1/-0)
1 file modified
Percona-Server/storage/innobase/buf/buf0buf.cc (+1/-0)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/bug1224432
Reviewer Review Type Date Requested Status
Sergei Glushchenko (community) g2 Approve
Review via email: mp+189240@code.launchpad.net

Description of the change

Fix bug 1224432 (Buffer pool watch sentinel page buf_fix_count race
condition | InnoDB: Failing assertion: buf_fix_count > 0 in file
buf0buf.cc line 3690 | abort (sig=6) in buf_page_init_for_read).

The issue was that LRU list mutex was always released in one of the
code paths unconditionally, but the later watch_page state re-check
only happened if buf_buddy_alloc() had to release the LRU mutex in the
same code path too. Fix by setting the LRU list mutex release flag in
the affected code path unconditionally.

http://jenkins.percona.com/job/percona-server-5.6-param/350/

To post a comment you must log in.
Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

Approve

review: Approve (g2)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/storage/innobase/buf/buf0buf.cc'
2--- Percona-Server/storage/innobase/buf/buf0buf.cc 2013-09-27 14:09:03 +0000
3+++ Percona-Server/storage/innobase/buf/buf0buf.cc 2013-10-04 09:11:57 +0000
4@@ -3580,6 +3580,7 @@
5 /* The block must be put to the LRU list, to the old blocks */
6 buf_LRU_add_block(bpage, TRUE/* to old blocks */);
7 mutex_exit(&buf_pool->LRU_list_mutex);
8+ lru = TRUE;
9
10 /* We set a pass-type x-lock on the frame because then
11 the same thread which called for the read operation

Subscribers

People subscribed via source and target branches