Bug #66563 reduce the number of redundant calls to btr_cur_optimistic_insert()
Submitted: 28 Aug 2012 5:37 Modified: 28 Aug 2012 6:55
Reporter: Nizameddin Ordulu Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB Plugin storage engine Severity:S5 (Performance)
Version:5.1,5.6 OS:Any
Assigned to: CPU Architecture:Any
Tags: compression, performance

[28 Aug 2012 5:37] Nizameddin Ordulu
Description:
InnoDB calls btr_cur_optimistic_insert() during both the optimistic and the pessimistic descent. This is especially bad if the page failed to compress during optimistic descent and we try to insert the record again and attempt to re-compress the page. We can skip calling btr_cur_optimistic_insert() during pessimistic descent if the page is not modified in a way that would make room for the record since the last time btr_cur_optimistic_insert() was called.

How to repeat:
read code.

Suggested fix:
http://pastebin.com/TL4DwL4P
[28 Aug 2012 5:49] MySQL Verification Team
see also http://bugs.mysql.com/bug.php?id=61546 ...