Thread: vacuum fails with "could not open statistics file" "Device orresource busy"
vacuum fails with "could not open statistics file" "Device orresource busy"
From
Andres Freund
Date:
Hi, buildfarm member lorikeet had an interesting buildfarm failure in the logical decoding test. The failure looks unrelated to logical decoding, but might be more widely relevant: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=lorikeet&dt=2018-10-19%2011%3A22%3A34 VACUUM FULL pg_class; + WARNING: could not open statistics file "pg_stat_tmp/global.stat": Device or resource busy Now that animal is cygwin based, so maybe it's just some random weirdness. But ISTM it could also indicate a bug of some sort. Were it native windows, I'd assume we'd keep a file open with the wrong flags or such... Greetings, Andres Freund
Re: vacuum fails with "could not open statistics file" "Device orresource busy"
From
Tomas Vondra
Date:
Hi, On 10/20/2018 04:15 AM, Andres Freund wrote: > Hi, > > buildfarm member lorikeet had an interesting buildfarm failure in the > logical decoding test. The failure looks unrelated to logical decoding, > but might be more widely relevant: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=lorikeet&dt=2018-10-19%2011%3A22%3A34 > VACUUM FULL pg_class; > + WARNING: could not open statistics file "pg_stat_tmp/global.stat": Device or resource busy > > Now that animal is cygwin based, so maybe it's just some random > weirdness. But ISTM it could also indicate a bug of some sort. > > Were it native windows, I'd assume we'd keep a file open with the wrong > flags or such... > Interesting. After a bit more digging, I've found these two places discussing stats files and "device or resource busy": [1] https://www.postgresql.org/message-id/flat/51B59794.3000500%40gmail.com [2] https://stackoverflow.com/questions/30846804/postgresql-statistics-issue-could-not-rename-temporary-statistics-file The pgsql-hackers thread is clearly about cygwin (see the diff file). Not sure about the SO thread, it only talks about 9.4 on windows (but I guess it's cygwin too). That being said, I'm not sure how to trigger it - my guess is it happens when one process holds a file descriptor open while another process tries to remove it, but I find it strange we'd only seen this twice since 2013. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: vacuum fails with "could not open statistics file" "Device orresource busy"
From
Andrew Dunstan
Date:
On 10/19/2018 10:15 PM, Andres Freund wrote: > Hi, > > buildfarm member lorikeet had an interesting buildfarm failure in the > logical decoding test. The failure looks unrelated to logical decoding, > but might be more widely relevant: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=lorikeet&dt=2018-10-19%2011%3A22%3A34 > VACUUM FULL pg_class; > + WARNING: could not open statistics file "pg_stat_tmp/global.stat": Device or resource busy > > Now that animal is cygwin based, so maybe it's just some random > weirdness. But ISTM it could also indicate a bug of some sort. > > Were it native windows, I'd assume we'd keep a file open with the wrong > flags or such... > I have switched the stats_temp_dir of this animal to a Windows Ramdisk. Lets' see if the problem persists. cheers andrew