btr_search_guess_on_hash makes found block young twice?

Bug #1411694 reported by Laurynas Biveinis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL Server
Unknown
Unknown
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.1
Won't Fix
Wishlist
Unassigned
5.5
Won't Fix
Wishlist
Unassigned
5.6
Won't Fix
Wishlist
Unassigned
5.7
Fix Released
Wishlist
Laurynas Biveinis

Bug Description

[14 Jan 12:52] Laurynas Biveinis
Description:
btr_search_guess_on_hash(...)
{
...
 if (!has_search_latch) {

  if (!buf_page_get_known_nowait(
   latch_mode, block, BUF_MAKE_YOUNG,
   __FILE__, __LINE__, mtr)) {
...
 if (!has_search_latch && buf_page_peek_if_too_old(&block->page)) {

  buf_page_make_young(&block->page);
 }
...
 return(TRUE);
}

buf_page_get_known_nowait makes the page young, and so does the direct call later. I cannot see any change of has_search_latch or block between the two.

How to repeat:
Code analysis

Suggested fix:
Remove the buf_page_peek_if_too_old / buf_page_make_young calls. Then make the former static to buf0buf.cc.

tags: added: innodb performance upstream
Changed in percona-server:
importance: Undecided → Wishlist
status: New → Won't Fix
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2454

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.