Re: Temporary tables prevent autovacuum, leading to XID wraparound

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "robertmhaas(at)gmail(dot)com" <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Temporary tables prevent autovacuum, leading to XID wraparound
Date: 2018-08-13 17:03:59
Message-ID: 20180813170359.GB16385@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 13, 2018 at 02:56:16AM -0700, Andres Freund wrote:
> On 2018-08-09 18:50:47 +0200, Michael Paquier wrote:
> I don't think that comment, nor the comment that you ended up
> committing:
> +
> + /*
> + * Reset the temporary namespace flag in MyProc. We assume that
> + * this operation is atomic. Even if it is not, the temporary
> + * table which created this namespace is still locked until this
> + * transaction aborts so it would not be visible yet, acting as a
> + * barrier.
> + */
>
> is actually correct. *Holding* a lock isn't a memory barrier. Acquring
> or releasing one is.

I cannot guess what you think, but would something like the attached be
more adapted? Both things look rather similar to me now, likely for you
it does not.
--
Michael

Attachment Content-Type Size
temp-namespace-comments.patch text/x-diff 2.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2018-08-13 17:15:07 Re: Temporary tables prevent autovacuum, leading to XID wraparound
Previous Message Alvaro Herrera 2018-08-13 16:53:18 Re: Temporary tables prevent autovacuum, leading to XID wraparound