On Wed, Nov 15, 2023 at 5:07 PM Alexander Korotkov <aekorot...@gmail.com> wrote:
>
> On Wed, Nov 15, 2023 at 8:02 AM Andres Freund <and...@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: 0001-REALLOCATE_BITMAPSETS-manual-compile-time-option-v1.patch
Description: Binary data

Attachment: 0002-Make-regression-tests-pass-with-REALLOCATE_BITMAP-v1.patch
Description: Binary data

Reply via email to