Bug #66370 Description about innodb_old_blocks_time have some problems.
Submitted: 14 Aug 2012 7:04 Modified: 1 May 2013 17:39
Reporter: Lixun Peng (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.1/5.5/5.6 OS:Any
Assigned to: Bugs System CPU Architecture:Any
Tags: innodb_old_blocks_time

[14 Aug 2012 7:04] Lixun Peng
Description:
 I'm translating InnoDB reference. When I read the variables info about "innodb_old_blocks_time", I think this variable's info in document maybe wrong.

"The default value is 0: A block inserted into the old sublist moves immediately to the new sublist the first time it is accessed, no matter how soon after insertion the access occurs.", reference said. But I read the code about buf_block_peek_if_too_old(5.1) and buf_page_peek_if_too_old/buf_page_peek_if_young (5.6), I think the description about "first time" is wrong, the code "buf_pool->freed_page_clock >= block->freed_page_clock + 1 + (buf_pool->curr_size / 4)" showed that if block->freed_page_clock == 0 (first access), and buf_pool->freed_page_clock (evicted pages) need bigger (buf_pool->curr_size / 4) than block->freed_page_clock, then InnoDB will move the page to new sublist, not immediately.

How to repeat:
read code, and compared with document

Suggested fix:
The default value is 0: A block inserted into the old sublist moves to the new sublist when innodb have evicted 1/4 pages in buffer pool from the block inserted , no matter how soon after insertion the access occurs.
[14 Aug 2012 12:04] MySQL Verification Team
Thank you for the bug report.
[1 May 2013 17:39] Bugs System
Revised description in 5.1, 5.5, 5.6, 5.7 reference manual:

"A block inserted into the old sublist moves to the new
sublist when Innodb has evicted 1/4 of the inserted block's
pages from the buffer pool, no matter how soon after
insertion the access occurs."