Subject | Re: [firebird-support] Question about "wrong page type" errors. |
---|---|
Author | Ann W. Harrison |
Post date | 2009-10-29T15:13:42Z |
Dunbar, Norman wrote:
of an index is not a good thing.
databases, by all means, leave that setting as it is. Firebird
has the tools needed to manage concurrent access from different
processes - that's what classic is, after all - but it can't
coordinate if it doesn't know there are two processes active.
Superserver and embedded (I think) open database files for exclusive
access. At one point in history, at least some of the operating
systems Firebird or InterBase ran on allowed two processes from
different computers to open a shared file simultaneously, even
if they asked for exclusive access ... in other words, file locking
didn't work on shared devices.
There were bugs in the index code that allowed the parent pointer
in an index to become stale and possibly point to a page that had
been released and reused as a different page type, but I think
the known bugs were fixed in 2.1. The problem was rare and happened
under heavy concurrent load with lots of entries being removed from
the index. Your situation sounds different so my best guess is
that your RemoteFileOpenAbility has shot you.
Good luck,
Ann
>And you're quite right about that. Having a blob page in the middle
> ... I can follow index page 146314's NEXT
> pointer which does indeed point to page 337334 which is, unfortunately,
> a type 8 BLOB page which is part of a blob chain and the page in
> question shouldn't be part of the index chain - to my mind.
of an index is not a good thing.
>That looks like a smoking gun to me. If you enjoy having corrupt
> Now, I found the following in the firebird.conf file:
>
> # ENABLED FOR FEWS
> RemoteFileOpenAbility = 1
databases, by all means, leave that setting as it is. Firebird
has the tools needed to manage concurrent access from different
processes - that's what classic is, after all - but it can't
coordinate if it doesn't know there are two processes active.
Superserver and embedded (I think) open database files for exclusive
access. At one point in history, at least some of the operating
systems Firebird or InterBase ran on allowed two processes from
different computers to open a shared file simultaneously, even
if they asked for exclusive access ... in other words, file locking
didn't work on shared devices.
There were bugs in the index code that allowed the parent pointer
in an index to become stale and possibly point to a page that had
been released and reused as a different page type, but I think
the known bugs were fixed in 2.1. The problem was rare and happened
under heavy concurrent load with lots of entries being removed from
the index. Your situation sounds different so my best guess is
that your RemoteFileOpenAbility has shot you.
Good luck,
Ann