Thread: pgsql: Change Windows rename and unlink substitutes so that they time

pgsql: Change Windows rename and unlink substitutes so that they time

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Change Windows rename and unlink substitutes so that they time out after
30 seconds instead of retrying forever.  Also modify xlog.c so that if
it fails to rename an old xlog segment up to a future slot, it will
unlink the segment instead.  Per discussion of bug #2712, in which it
became apparent that Windows can handle unlinking a file that's being
held open, but not renaming it.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xlog.c (r1.253 -> r1.254)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.253&r2=1.254)
    pgsql/src/port:
        dirmod.c (r1.43 -> r1.44)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/port/dirmod.c.diff?r1=1.43&r2=1.44)

Re: pgsql: Change Windows rename and unlink

From
Tatsuo Ishii
Date:
Is there any reason for not back porting the fix into 8.1?
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> Log Message:
> -----------
> Change Windows rename and unlink substitutes so that they time out after
> 30 seconds instead of retrying forever.  Also modify xlog.c so that if
> it fails to rename an old xlog segment up to a future slot, it will
> unlink the segment instead.  Per discussion of bug #2712, in which it
> became apparent that Windows can handle unlinking a file that's being
> held open, but not renaming it.
>
> Modified Files:
> --------------
>     pgsql/src/backend/access/transam:
>         xlog.c (r1.253 -> r1.254)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.253&r2=1.254)
>     pgsql/src/port:
>         dirmod.c (r1.43 -> r1.44)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/port/dirmod.c.diff?r1=1.43&r2=1.44)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>

Re: pgsql: Change Windows rename and unlink substitutes so that they time

From
Tom Lane
Date:
Tatsuo Ishii <ishii@sraoss.co.jp> writes:
> Is there any reason for not back porting the fix into 8.1?

I didn't think it was adequately tested, and I'm not in a position to
test it.  (Note that a lack of 8.2 bug reports isn't a sufficient test,
since I think we whacked related code around for 8.2 --- you'd need to
actually test it in context in 8.1 ...)

>> Change Windows rename and unlink substitutes so that they time out after
>> 30 seconds instead of retrying forever.  Also modify xlog.c so that if
>> it fails to rename an old xlog segment up to a future slot, it will
>> unlink the segment instead.  Per discussion of bug #2712, in which it
>> became apparent that Windows can handle unlinking a file that's being
>> held open, but not renaming it.

            regards, tom lane