Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers <pgsql-committers(at)lists(dot)postgresql(dot)org>
Subject: Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Date: 2021-08-12 02:09:10
Message-ID: CAD21AoAjrg5EuWM9qNApKRLC2LP+G18=u8xE=qbm2smmMzGC-A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Wed, Aug 11, 2021 at 10:47 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Tue, Aug 10, 2021 at 4:37 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> >
> > The apply worker registers SharedFileSetDeleteOnProcExit() when
> > creating a file set to serialize the changes. When it raises an error
> > due to conflict during applying the change, the callback eventually
> > reports the temp file statistics but pgstat already shut down,
> > resulting in this assertion failure.
> >
>
> I think we can try to fix this by registering to clean up these files
> via before_shmem_exit() as done by Andres in commit 675c945394.
> Similar to that commit, we can change the function name
> SharedFileSetDeleteOnProcExit to SharedFileSetDeleteOnShmExit and
> register it via before_shmem_exit() instead of on_proc_exit(). Can you
> try that and see if it fixes the issue for you unless you have better
> ideas to try out?

It seems to me that moving the shared fileset cleanup to
before_shmem_exit() is the right approach to fix this problem. The
issue is fixed by the attached patch.

Regards,

--
Masahiko Sawada
EDB: https://www.enterprisedb.com/

Attachment Content-Type Size
0001-Move-shared-fileset-cleanup-to-before_shmem_exit.patch application/octet-stream 2.6 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Dilip Kumar 2021-08-12 06:08:03 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Previous Message Amit Kapila 2021-08-11 13:47:07 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Smith 2021-08-12 02:32:52 Re: Logical replication keepalive flood
Previous Message John Naylor 2021-08-12 02:02:04 Re: call popcount32/64 directly on non-x86 platforms