Hi,
On Fri, Apr 3, 2026 at 6:00 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> On Thu, Apr 2, 2026 at 8:10 AM Daniil Davydov <3danissimo@gmail.com> wrote:
> >
> > I think we should add some cleanup for autovacuum near the ParallelContext
> > cleanup, since they are interconnected. I also want to return our tests that
> > are triggering ERROR/PANIC in the leader worker in order to check whether all
> > resources are released. I hope I will be able to get to that by tomorrow
> > evening.
>
> I think that the beginning of vacuum loop (in PG_TRY() block in
> vacuum()) seems better place as we're resetting vacuum delay
> parameters:
>
> in_vacuum = true;
> VacuumFailsafeActive = false;
> VacuumUpdateCosts();
> VacuumCostBalance = 0;
> VacuumCostBalanceLocal = 0;
> VacuumSharedCostBalance = NULL;
> VacuumActiveNWorkers = NULL;
>
I am still thinking that this pointer is related to the ParallelContext, and it
is a bit confusing that we can manipulate it outside all "parallel" logic.
Since this variable points to the DSM it looks very natural for me if its
lifetime will be similar to the DSM. Please, see attached patch, that resets
this pointer during dsm detaching.
--
Best regards,
Daniil Davydov