On Tue, Oct 24, 2023 at 8:05 PM Noah Misch wrote:
> Can't it still happen if the sequence of unfortunately timed crashes causes
> deletions from left to right? Take this example, expanding the one above.
> Half-kill 4, crash, half-kill 3, crash, half-kill 2 in:
>
> * 1
> *
On Tue, Oct 24, 2023 at 07:03:34PM -0700, Peter Geoghegan wrote:
> On Mon, Oct 23, 2023 at 7:28 PM Noah Misch wrote:
> > > That makes sense to me. I believe that it's not possible to have a
> > > string of consecutive sibling pages that are all half-dead (regardless
> > > of the BlockNumber order
On Mon, Oct 23, 2023 at 7:28 PM Noah Misch wrote:
> > That makes sense to me. I believe that it's not possible to have a
> > string of consecutive sibling pages that are all half-dead (regardless
> > of the BlockNumber order of sibling pages, even). But I'd probably
> > have written the fix in rou
On Mon, Oct 23, 2023 at 04:46:23PM -0700, Peter Geoghegan wrote:
> On Fri, Oct 20, 2023 at 8:55 PM Noah Misch wrote:
> > > > I lean toward fixing this by
> > > > having amcheck scan left; if left links reach only half-dead or deleted
> > > > pages,
> > > > that's as good as the present child bloc
On Fri, Oct 20, 2023 at 8:55 PM Noah Misch wrote:
> > > I lean toward fixing this by
> > > having amcheck scan left; if left links reach only half-dead or deleted
> > > pages,
> > > that's as good as the present child block being P_LEFTMOST.
> >
> > Also my preference.
>
> Done mostly that way, e
On Mon, Oct 09, 2023 at 04:46:26PM -0700, Peter Geoghegan wrote:
> On Wed, Oct 4, 2023 at 7:52 PM Noah Misch wrote:
> Might make sense to test the fix for this issue using a similar
> approach: by adding custom code that randomly throws errors at a point
> that stresses the implementation. I'm re
On Wed, Oct 4, 2023 at 7:52 PM Noah Misch wrote:
> Suppose we start with this nbtree (subset of a diagram from verify_nbtree.c):
>
> * 1
> * / \
> *2 <-> 3
>
> We're deleting 2, the leftmost leaf under a leftmost internal page. After the
> MARK_PAG
Suppose we start with this nbtree (subset of a diagram from verify_nbtree.c):
* 1
* / \
*2 <-> 3
We're deleting 2, the leftmost leaf under a leftmost internal page. After the
MARK_PAGE_HALFDEAD record, the first downlink from 1 will lead to 3, whi