List:Falcon Storage Engine« Previous MessageNext Message »
From:Ann W. Harrison Date:November 11 2008 8:58pm
Subject:Re: Question on The 3 phases Of Recovery
View as plain text  
Vlad,
> 
Sorry this is late - we've discussed this on Friday.

> In case I'm investigating right now I've got following  backtrace
> 	PageInventoryPage::reallocPage
> 	Dbb::reallocPage
>  	SerialLog::bumpPageIncarnation
> 	SRLSectionPage::pass1
> 
> 
> How does this correspond to the description of Phase I? Should not
> reallocPages be done first in Phase II?

If memory serves, the resolution was to be certain that nothing in
Phase II allocates new pages.  It shouldn't, but all the pages that
are reallocated must be done before any new allocation is done, or
an object that must be on a certain page may find that the page is
already in use for something else.

To be absolutely clear, there are two different operations:
reallocPage which reestablishes the use of a specific page for
an object (e.g. index, section, record locator) that must be
on a specific page, and new allocation which takes whatever
page is free and uses it for data or blobs.  The two must be
in separate phases, or they step on each other.

If there are new allocations in Phase II, then either they should
be deferred to Phase III (probably hard) or we need a phase II.V
that does those new allocations.

Sorry again if this is a rehash of an old discussion -


Best,

Ann


Thread
Question on The 3 phases Of RecoveryVladislav Vaintroub7 Nov
  • RE: Question on The 3 phases Of RecoveryVladislav Vaintroub7 Nov
  • Re: Question on The 3 phases Of RecoveryAnn W. Harrison11 Nov
    • RE: Question on The 3 phases Of RecoveryVladislav Vaintroub11 Nov
      • Re: Question on The 3 phases Of RecoveryAnn W. Harrison11 Nov