Subject Re: [Firebird-Architect] Re: SMP - increasing single-query performance?
Author Jim Starkey
Arno Brinkman wrote:
> If i understand correctly the gopher thread (4) should never run simultaneously with "page cache to
> disk" scheduler (5), because pages dependend on their precedence to other pages could be written
> wrong.
>
>
While Falcon has page precedence, it isn't sufficient to guarantee a
successful recovery. At best, it works with the serial log to make sure
that everything can be reconstructed. The problem, of course, is that
while the serial log is guaranteed to be flushed at (or by) commit time,
pages migrate to disk much later. So everything required for recovery
must be present in the serial log. Page precedence, a relative minor
cost, can reduce the cost of the post-crash recovery process, but it
can't eliminate it.

And, in fact, the gopher thread and the checkpoint facility ("page cache
to disk") run independently, each with no knowledge or the other.