pgsql: - Add check of already changed page while replay WAL.

Started by Teodor Sigaevover 18 years ago2 messageshackers
Jump to latest
#1Teodor Sigaev
teodor@sigaev.ru

Log Message:
-----------
- Add check of already changed page while replay WAL. This touches only
ginRedoInsert(), because other ginRedo* functions rewrite whole page or
make changes which could be applied several times without consistent's loss

- Remove check of identifying of corresponding split record:
it's possible that replaying of WAL starts after actual page split, but before
removing of that split from incomplete splits list. In this case, that check
cause FATAL error.

Per stress test which reproduces bug reported by Craig McElroy
<craig.mcelroy@contegix.com>

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
pgsql/src/backend/access/gin:
ginxlog.c (r1.5.2.1 -> r1.5.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginxlog.c?r1=1.5.2.1&amp;r2=1.5.2.2)

#2Robert Treat
xzilla@users.sourceforge.net
In reply to: Teodor Sigaev (#1)
Re: [COMMITTERS] pgsql: - Add check of already changed page while replay WAL.

On Monday 29 October 2007 15:27, Teodor Sigaev wrote:

Log Message:
-----------
- Add check of already changed page while replay WAL. This touches only
ginRedoInsert(), because other ginRedo* functions rewrite whole page or
make changes which could be applied several times without consistent's loss

- Remove check of identifying of corresponding split record:
it's possible that replaying of WAL starts after actual page split, but
before removing of that split from incomplete splits list. In this case,
that check cause FATAL error.

Per stress test which reproduces bug reported by Craig McElroy
<craig.mcelroy@contegix.com>

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
pgsql/src/backend/access/gin:
ginxlog.c (r1.5.2.1 -> r1.5.2.2)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/gi
nxlog.c?r1=1.5.2.1&r2=1.5.2.2)

Not to put any pressure, but this fix had me wondering if we might see an
8.2.6 before 8.3 is out?

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL