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

Started by Tom Laneover 19 years ago4 messageshackers
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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)

#2Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Tom Lane (#1)
Re: [COMMITTERS] pgsql: Change Windows rename and unlink

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

Show quoted text

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

#3Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Tom Lane (#1)
Re: pgsql: Change Windows rename and unlink

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

Show quoted text

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

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#2)
Re: pgsql: Change Windows rename and unlink substitutes so that they time

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