Re: rmtree() failure on Windows - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: rmtree() failure on Windows
Date
Msg-id 417FAA69.2080707@dunslane.net
Whole thread Raw
In response to Re: rmtree() failure on Windows  (Reini Urban <rurban@x-ray.at>)
Responses Re: rmtree() failure on Windows
Re: rmtree() failure on Windows
List pgsql-hackers
problem area found. see below.

Reini Urban wrote:

> Andrew Dunstan schrieb:
>
>> Here is some more info. Below is a trace from dropdb. There is a loop 
>> around the rmdir() calls which I have set to time out at 600 seconds. 
>> The call eventually succeeds after around 300 seconds (I've seen this 
>> several times). It looks like we are the victim of some caching - the 
>> directory still thinks it has some of the files it has told us we 
>> have deleted successfully.
>
>
> 300 secs (!) fs timeout is really broken.
> Looks more like a locking or network timeout issue.
> What error codes does unlink(3) return?


success.

>
> Why don't you use DeletFileA() instead of unlink()?
>
> Or even better, why don't you use this delete on close snippet instead:


[snip]

Before I tried anything like that I tried one more thing. I disabled the 
background writer and the problem stopped. So now we know the "culprit".

>
>
> It should only happen a ERROR_SHARING_VIOLATION on NT systems with 
> such a long timeout. This is then a concurrency problem. win95 will 
> not return ERROR_SHARING_VIOLATION, only ERROR_ACCESS_DENIED
>
>
We don't support W95/W98/WME at all. The tests were done on XP-Pro.

cheers

andrew


pgsql-hackers by date:

Previous
From: ohp@pyrenet.fr
Date:
Subject: Re: Unixware 714 pthreads
Next
From: Greg Stark
Date:
Subject: Re: plans for bitmap indexes?