> -----Original Message-----
> From: Vladislav.Vaintroub@stripped [mailto:Vladislav.Vaintroub@stripped]
> On Behalf Of Vladislav Vaintroub
> Sent: Thursday, February 19, 2009 6:13 PM
> To: 'Falcon'
> Subject: Index Recovery
> I'm keeping to get errors in the index recovery (lost parent page of an
> index page typically, not on disk and I cannot find any info about this
> in the whole log).
> I have an idea on how to log splits to make recovery work better.
> give me your feedback.
> The basic idea is that we do not do log single pages anymore but bunch
> pages (every page that was changed during the split). And we do it
> atomically, in a single serial log record. And we do not release them
> they are logged.
> Our index page got some links to other pages (next on the same level,
> on the same level and parent) and when splitting some or all of them
> modified. Also, a new page is always created (and I believe even 2
> That means, new record type that includes several pages would somewhat
> heavy than individual pages we used to log . On the other hand, split
> be considered a relatively rare operation, most page updates do not
> But benefits are obvious (for me at least):
> next/prior chain is consistent, parent does not lose the child, child
> not lose the parent and we do not need to think about the order when
> logging. We log an atomic operation (split) and there is no way that
> recovery get an inconsistent index because server stopped while doing a
> split and while
This sentence is incomplete (I was interrupted while doing page splits;)).
Scratch the last "and while":)