From: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
---|---|
To: | Alexander Lakhin <exclusion(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Justin Pryzby <pryzby(at)telsasoft(dot)com> |
Subject: | Re: More time spending with "delete pending" |
Date: | 2021-12-01 10:51:58 |
Message-ID: | 158F92D1-7986-42BB-AF2A-2BE06841B827@yesql.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> On 13 Jul 2021, at 20:00, Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
>
> Hello Michael,
> 12.07.2021 08:52, Michael Paquier wrote:
>> On Mon, Jul 12, 2021 at 02:09:41PM +0900, Michael Paquier wrote:
>>
>>> And fairywren, that uses MinGW, is unhappy:
>>>
>>> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2021-07-12%2004%3A47%3A13
>>>
>>> Looking at it now.
>>>
>> I am not sure what to do here to cool down MinGW, so the patch has
>> been reverted for now:
>> - Plain stat() is not enough to do a proper detection of the files
>> pending for deletion on MSVC, so reverting only the part with
>> microsoft_native_stat() is not going to help.
>> - We are going to need an evaluation of the stat() implementation in
>> MinGW and check if is it possible to rely on it more. If yes, we
>> could get away with more tweaks based on __MINGW32__/__MINGW64__.
>>
> I've managed to adapt open/win32stat for MinGW by preventing stat overriding at the implementation level. Thus, the code that calls stat() will use the overridden struct/function(s), but inside of open/win32_stat we could access original stat and reference to __pgstat64 where we want to use our.
> Tested on MSVC, MinGW64 and MinGW32 — the fixed code compiles everywhere.
>
> But when using perl from msys (not ActivePerl) while testing I've got the same test failure due to another error condition:
>
> <ghffjapimnefdgac.png>
>
> In this case CreateFile() fails with ERROR_SHARING_VIOLATION (not ERROR_ACCESS_DENIED) and it leads to the same "Permission denied" error. This condition is handled in the pgwin32_open() but not in _pgstat64() yet.
>
> I think I should develop another test for MSVC environment that will demonstrate a such failure too.
> But as it's not related to the DELETE_PENDING state, I wonder whether this should be fixed in a separate patch.
Michael, have you had a chance to look at the updated patch here? I'm moving
this patch entry from Waiting on Author to Needs Review.
--
Daniel Gustafsson https://vmware.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2021-12-01 10:59:00 | Re: Replication protocol doc fix |
Previous Message | Bharath Rupireddy | 2021-12-01 10:50:52 | should we document an example to set multiple libraries in shared_preload_libraries? |