Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)' - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'
Date
Msg-id CAPpHfdugmUqPhr40xmbk5xMQjy96FoJzC0fE6KYBoNbZYHVeDA@mail.gmail.com
Whole thread Raw
In response to Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'  (Alexander Korotkov <aekorotkov@gmail.com>)
Responses Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'
Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'
List pgsql-hackers
On Wed, Nov 15, 2023 at 5:07 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
>
> On Wed, Nov 15, 2023 at 8:02 AM Andres Freund <andres@anarazel.de> wrote:
> > The kinda because there are callers to bms_(add|del)_members() that pass the
> > same bms as a and b, which only works if the reallocation happens "late".
>
> +1,
> Neat idea. I'm willing to work on this. Will propose the patch soon.


It's here.  New REALLOCATE_BITMAPSETS forces bitmapset reallocation on
each modification.  I also find it useful to add assert to all
bitmapset functions on argument NodeTag.  This allows you to find
access to hanging pointers earlier.

I had the feeling of falling into a rabbit hole while debugging all
the cases of failure with this new option.  With the second patch
regressions tests pass.

Any thoughts?

------
Regards,
Alexander Korotkov

Attachment

pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: long-standing data loss bug in initial sync of logical replication
Next
From: vignesh C
Date:
Subject: Re: pg_upgrade and logical replication