Unix Technical Forum

pgsql: Fix an ancient oversight in btree xlog replay.

This is a discussion on pgsql: Fix an ancient oversight in btree xlog replay. within the pgsql Committers forums, part of the PostgreSQL category; --> Log Message: ----------- Fix an ancient oversight in btree xlog replay. When trying to determine if an upper-level insertion ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Committers

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-10-2008, 06:13 PM
Tom Lane
 
Posts: n/a
Default pgsql: Fix an ancient oversight in btree xlog replay.

Log Message:
-----------
Fix an ancient oversight in btree xlog replay. When trying to determine if an
upper-level insertion completes a previously-seen split, we cannot simply grab
the downlink block number out of the buffer, because the buffer could contain
a later state of the page --- or perhaps the page doesn't even exist at all
any more, due to relation truncation. These possibilities have been masked up
to now because the use of full_page_writes effectively ensured that no xlog
replay routine ever actually saw a page state newer than its own change.
Since we're deprecating full_page_writes in 8.1.*, there's no need to fix this
in existing release branches, but we need a fix in HEAD if we want to have any
hope of re-allowing full_page_writes. Accordingly, adjust the contents of
btree WAL records so that we can always get the downlink block number from the
WAL record rather than having to depend on buffer contents. Per report from
Kevin Grittner and Peter Brant.

Improve a few comments in related code while at it.

Modified Files:
--------------
pgsql/src/backend/access/nbtree:
nbtinsert.c (r1.134 -> r1.135)
(http://developer.postgresql.org/cvsw...1.134&r2=1.135)
nbtxlog.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsw...1=1.31&r2=1.32)
pgsql/src/include/access:
nbtree.h (r1.95 -> r1.96)
(http://developer.postgresql.org/cvsw...1=1.95&r2=1.96)

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 04:22 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com