Re: More time spending with "delete pending"

Alexander Law <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, Justin Pryzby <pryzby@telsasoft.com>
Date: 2021-07-09T18:00:00Z
Lists: pgsql-hackers
Hello Michael,
09.07.2021 08:52, Michael Paquier wrote:
> On Thu, Jul 08, 2021 at 11:00:00PM +0300, Alexander Lakhin wrote:
>> Beside the aforementioned test I can only propose the extended patch,
>> that incorporates the undo of the changes brought by bed90759f.
>> With this patch that test is passed.
> Checked and confirmed.  It is a nice test with IPC::Run you have here.
> Making things in win32stat.c more consistent with open.c surely is
> appealing.  One thing that I'd like to introduce in this patch, and
> also mentioned upthread, is to change the stat() call in open.c to use
> microsoft_native_stat().
>
> I have let pgbench run for a couple of hours with some concurrent
> activity using genfile.c, without noticing problems.  My environment
> is not representative of everything we can find out there on Windows,
> but it brings some confidence.
Thank you! I agree with your improvement. I can't remember why did I
inject 'include "port.h"' in genfile.c.
Today I've rechecked all the chain of includes and I see that stat() is
redefined as _pgstat64() in win32_port.h, that includes <sys/stat.h>.
genfile.c includes "postgres.h" (that includes win32_port.h indirectly)
and then includes <sys/stat.h> again, but the later include should be
ignored due "#pragma once" in stat.h.
So I have no objection to the removal of that include.

Best regards,
Alexander



Commits

  1. Revert "Fix issues with Windows' stat() for files pending on deletion"

  2. Fix issues with Windows' stat() for files pending on deletion