On Thu, 2008-09-04 at 11:07 +0300, Heikki Linnakangas wrote:
> Thanks for the review!
Not as thorough as I would have liked, I must admit.
Thanks for the other confirmations.
> Scenario: The binary tree on a page is corrupt, so that the value of an
> upper node is > Max(leftchild, rightchild).
> Consequence: Searchers will notice the corruption while trying to
> traverse down that path, and throw an elog(WARNING) in search_avail().
> fsm_search will retry the search, and will in worst case go into an
> infinite loop. That's obviously not good. We could automatically fix the
> upper nodes of the tree, but that would wipe evidence that would be
> useful in debugging.
We probably need to break out of infinite loops, especially ones that
output warning messages on each loop. :-)
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support