List:Commits« Previous MessageNext Message »
From:Kevin Lewis Date:May 18 2009 1:31pm
Subject:Re: bzr commit into mysql-6.0-falcon-team branch (olav:2707) Bug#44292
View as plain text  
OK to push

Olav Sandstaa wrote:
> #At file:///home/os136802/mysql/develop/repo/falcon-bug44292/ based on
> revid:john.embretsen@stripped
> 
>  2707 Olav Sandstaa	2009-05-18
>       Fix for Bug#44292 falcon_bug_34351_C fails with assertion (false) in file
> RecordLocatorPage.cpp
>       
>       This crash was caused by an inconsistency in the RecordLocator
>       page. In some situations the maxLine value was not updates when
>       inserting new space management slots. This could cause later updates
>       to the record locator page to introduce inconsistencies in the record
>       index.
>       
>       This patch changes RecordLocatorPage::setIndexSlot() to handle
>       situations where the slot to be inserted has a slot number larger than
>       the maxLine value. Before this patch if a slot number that was larger
>       than the current maxLine value was inserted, the maxLine value was not
>       updated accordingly. The fix is to update the maxLine value based on
>       the inserted slot number.
>      @ storage/falcon/RecordLocatorPage.cpp
>         Fix for inconsistency in RecordLocatorPage. RecordLocatorPage::setIndexSlot()
> is changed so that it handles situations where the slot to be inserted on the page has a
> slot number that is
>         larger than the maxLine value.
> 
>     modified:
>       storage/falcon/RecordLocatorPage.cpp
> === modified file 'storage/falcon/RecordLocatorPage.cpp'
> --- a/storage/falcon/RecordLocatorPage.cpp	2009-04-14 17:21:13 +0000
> +++ b/storage/falcon/RecordLocatorPage.cpp	2009-05-18 09:42:26 +0000
> @@ -360,6 +360,7 @@ void RecordLocatorPage::setIndexSlot(int
>  			elements[spaceSlot].spaceAvailable = availableSpace;
>  			element->page = pageNumber;
>  			element->line = line;
> +			maxLine = MAX(maxLine, slot + 1);
>  			//validateSpaceSlots();
>  			
>  			return;
> @@ -379,6 +380,7 @@ void RecordLocatorPage::setIndexSlot(int
>  	element->page = pageNumber;
>  	element->line = line;
>  	insertSpaceSlot(slot, availableSpace);
> +	maxLine = MAX(maxLine, slot + 1);
>  	//validateSpaceSlots();
>  }
>  
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
Thread
bzr commit into mysql-6.0-falcon-team branch (olav:2707) Bug#44292Olav Sandstaa18 May
  • Re: bzr commit into mysql-6.0-falcon-team branch (olav:2707) Bug#44292Kevin Lewis18 May