Re: fsync and semctl errors with 8.1.5/win32 - Mailing list pgsql-bugs

From Thomas H.
Subject Re: fsync and semctl errors with 8.1.5/win32
Date
Msg-id 00a601c71819$f98f0fe0$0201a8c0@iwing
Whole thread Raw
In response to Re: fsync and semctl errors with 8.1.5/win32  ("Magnus Hagander" <mha@sollentuna.net>)
Responses Re: fsync and semctl errors with 8.1.5/win32  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
>> Here's a few seconds of the log output (this has been going on for 10
>> mins as of this e-mail being sent):
>> 2006-11-28 16:16:10 LOG:  could not fsync segment 0 of relation
>> 1663/16404/30267: Permission denied
>> 2006-11-28 16:16:10 ERROR:  storage sync failed on magnetic disk:
>> Permission denied
>
>> Here's the FileMon output from the same seconds:
>> 4:16:10 PM      postgres.exe:3168       OPEN    C:\Program
>> Files\PostgreSQL\8.1\data\base\16404\30267   DELETE PEND     Options:
>> Open  Access: 0012019F
>
> I still don't want to make mdsync() treat EACCES as an ignorable error.
> However, in this situation we've got an infinite loop because the
> checkpoint will never succeed and thus the bgwriter will never reach
> smgrcloseall(), which seems to be what's needed to allow the deleted
> file to die the real death.
>
> Perhaps a suitable workaround would be to make the bgwriter do
> smgrcloseall in its error recovery path?  That is
>
> /*
> * Sleep at least 1 second after any error.  A write error is likely
> * to be repeated, and we don't want to be filling the error logs as
> * fast as we can.
> */
> pg_usleep(1000000L);
> +
> + /* Drop open files to allow deleted files to really go away */
> + smgrcloseall();
> }
>
> /* We can now handle ereport(ERROR) */
> PG_exception_stack = &local_sigjmp_buf;
>
>
> Perhaps this should be #ifdef WIN32, although there's probably no harm
> in doing it on Unixen too.  Can someone test this idea?
>

in 8.2.0 the error messages changed a bit:

2006-12-05 03:47:12 [736] LOG:  could not fsync segment 0 of relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:12 [736] ERROR:  storage sync failed on magnetic disk:
Permission denied
2006-12-05 03:47:13 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:14 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:15 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:16 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:17 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:18 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:19 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:20 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:21 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:22 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:23 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:24 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:25 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:26 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:27 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:28 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:29 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:30 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:31 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:32 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:33 [736] ERROR:  could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:52:34 [736] LOG:  could not fsync segment 0 of relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:34 [736] ERROR:  storage sync failed on magnetic disk:
Permission denied
2006-12-05 03:52:35 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:36 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:37 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:38 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:39 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:40 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:41 [736] ERROR:  could not open relation
1663/16692/2361668: Permission denied
... and so on.

- thomas

pgsql-bugs by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: BUG #2802: Feature request: tinyint and unsigned types
Next
From: Tom Lane
Date:
Subject: Re: fsync and semctl errors with 8.1.5/win32