Bug #39025 Falcon writes key pages to Serial Log in wrong order.
Submitted: 25 Aug 2008 22:05 Modified: 18 Oct 2008 14:58
Reporter: Kevin Lewis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.7 OS:Any
Assigned to: Kevin Lewis CPU Architecture:Any
Tags: Serial Log
Triage: D2 (Serious)

[25 Aug 2008 22:05] Kevin Lewis
Description:
During a Falcon show-and-tell session at the Boston meeting in July, Jim noticed that the parent, right, and left key pages affected by a page split are written to the serial log in the wrong order.  This could cause a problem only if a failure occurred during a recovery in the middle of rewriting these three pages.  The chance of this happening is very low and cannot be tested deterministically.

How to repeat:
Difficult to repeat

Suggested fix:
Write the 3 pages to the serial log in this order; 
1) The new right page first,
2) then the previously existing left page (which is now half full), 
3) then the parent page.
[25 Aug 2008 22:06] Kevin Lewis
Verified in the code.
[25 Aug 2008 22:09] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/52508

2800 Kevin Lewis	2008-08-25
      Bug#39025 Wrte pages to the serial log in this order;
      1) The new right page first,
      2) then the previously existing left page (which is now half full), 
      3) then the parent page
[26 Aug 2008 4:48] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/52519

2800 Kevin Lewis	2008-08-25
      Bug#39025 Wrte pages to the serial log in this order;
      1) The new right page first,
      2) then the previously existing left page (which is now half full), 
      3) then the parent page
[28 Aug 2008 4:28] Bugs System
Pushed into 6.0.7-alpha  (revid:klewis@mysql.com-20080825220913-bcgsb6u07nnbbopq) (version source revid:vvaintroub@mysql.com-20080827094944-sh582y3m7duhzrpj) (pib:3)
[14 Sep 2008 4:14] Bugs System
Pushed into 6.0.7-alpha  (revid:klewis@mysql.com-20080825220913-bcgsb6u07nnbbopq) (version source revid:hakan@mysql.com-20080721095625-h2pyxb88uwtjeavf) (pib:3)
[18 Oct 2008 14:58] Jon Stephens
Documented in the 6.0.7 changelog as follows:

        Falcon key pages were written to the serial log in the wrong order. This
        has the potential to cause problems if a failure of the server occurred
        during recovery.
[20 Nov 2008 12:56] Bugs System
Pushed into 6.0.9-alpha  (revid:msvensson@mysql.com-20081103175136-mxc2c678yiebrep3) (version source revid:hky@sun.com-20081105154145-9cymy8nzucy8efig) (pib:5)