On Thu, Jun 10, 2021 at 7:00 PM Andres Freund <andres@anarazel.de> wrote:
> I'm not convinced - right now we don't exercise this path in tests at
> all. More assertions won't change that - stuff that can be triggered in
> production-ish loads doesn't help during development. I do think that
> that makes it far too easy to have state management bugs (e.g. a wrong
> pincount in retry cases or such).
The code in lazy_scan_prune() led to our detecting this bug (albeit in
a fairly nasty way). The problematic VACUUM operations never actually
exercised the goto as originally designed, for the purpose it was
intended for. Perhaps we should add test coverage for the intended
behavior too, but that doesn't seem particularly relevant right now.
--
Peter Geoghegan