Re: More time spending with "delete pending"
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Alexander Lakhin <exclusion@gmail.com>,
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-12-01T10:51:58Z
Lists: pgsql-hackers
> On 13 Jul 2021, at 20:00, Alexander Lakhin <exclusion@gmail.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/
Commits
-
Revert "Fix issues with Windows' stat() for files pending on deletion"
- 5e60237ad1b4 14.0 landed
- 2c9b46c090e7 15.0 landed
-
Fix issues with Windows' stat() for files pending on deletion
- de1510e2f5a1 14.0 landed
- 54fb8c7ddf15 15.0 landed