Re: Failure with 004_logrotate in prairiedog - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: Failure with 004_logrotate in prairiedog
Date
Msg-id 20210720.131221.241995309583559010.horikyota.ntt@gmail.com
Whole thread Raw
In response to Re: Failure with 004_logrotate in prairiedog  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
At Mon, 19 Jul 2021 10:23:46 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote in 
> Michael Paquier <michael@paquier.xyz> writes:
> > On Mon, Jul 19, 2021 at 04:15:36PM +0900, Kyotaro Horiguchi wrote:
> >> When rotation happens, the metainfo file is once removed then
> >> created. If slurp_file in the metafile-checking loop hits the gap, the
> >> slurp_file fails with ENOENT.
> 
> > I can read the following code, as of update_metainfo_datafile():
> > if (rename(LOG_METAINFO_DATAFILE_TMP, LOG_METAINFO_DATAFILE) != 0)
> 
> Yeah, ignore my previous message.  There is an unlink up at the top
> of the function, which fooled me in my caffeine-deprived state.

Yeah, sorry for the stupidity.

> But that path is only taken when logging was just turned off, so
> we must remove the now-irrelevant metafile.

I'm not sure this is relevant, I found the following article. (as a
token of my apology:p)

http://www.weirdnet.nl/apple/rename.html

> There is an easy way to empirically prove that rename() is not
> atomic on Leopard 10.5.2. All you have to do is create a link to a
> directory, replace that link with a

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Peter Smith
Date:
Subject: Re: [HACKERS] logical decoding of two-phase transactions
Next
From: Bruce Momjian
Date:
Subject: Re: Have I found an interval arithmetic bug?