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

From Reini Urban
Subject Re: rmtree() failure on Windows
Date
Msg-id 417FB073.30001@x-ray.at
Whole thread Raw
In response to Re: rmtree() failure on Windows  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: rmtree() failure on Windows
List pgsql-hackers
Andrew Dunstan schrieb:
> 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.

Oops! 5min timeout for success is certainly problematic.

>> 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".

Good! Relieve.

>> 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.

Ah sorry. I forgot.
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/


pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: plans for bitmap indexes?
Next
From: Reini Urban
Date:
Subject: src/timezone/pgtz __imp__my_exec_path