| From: | Andres Freund <andres(at)anarazel(dot)de> | 
|---|---|
| To: | Michael Paquier <michael(at)paquier(dot)xyz> | 
| Cc: | "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-08 08:41:27 | 
| Message-ID: | 20180808084127.azivmkge4lxhs2ry@alap3.anarazel.de | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hi,
On 2018-07-30 16:59:16 +0900, Michael Paquier wrote:
> +	/*
> +	 * Mark MyProc as owning this namespace which other processes can use to
> +	 * decide if a temporary namespace is in use or not. Even if this is an
> +	 * atomic operation, this can be safely done lock-less as no temporary
> +	 * relations associated to it can be seen yet if scanning pg_class.
> +	 */
> +	MyProc->tempNamespaceId = namespaceId;
I can't parse this. "Even if this is an	atomic operation, this can be
safely done lock-less" - that seems like a contradictory sentence. Is
there a "not" missing?
Also, this seems like insufficient reasoning. What guarantees the
visibility of the flag? You're going to have to talk about externally
implied memory ordering here.  Or add explicit barriers - the latter is
probably preferrable.
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Rowley | 2018-08-08 10:24:07 | Re: Internal error XX000 with enable_partition_pruning=on, pg 11 beta1 on Debian | 
| Previous Message | Michael Paquier | 2018-08-08 08:33:06 | Re: Temporary tables prevent autovacuum, leading to XID wraparound |