Re: Hot Standby dev build (v8)

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Hot Standby dev build (v8)
Date: 2009-01-16 14:33:07
Message-ID: 49709AA3.7050007@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I don't think RecentGlobalXmin is good enough here:

> ! /*
> ! * We would like to set an accurate latestRemovedXid, but there
> ! * is no easy way of obtaining a useful value. So we use the
> ! * probably far too conservative value of RecentGlobalXmin instead.
> ! */
> ! xlrec_delete.latestRemovedXid = RecentGlobalXmin;
> ! rdata[0].data = (char *) &xlrec_delete;
> ! rdata[0].len = SizeOfBtreeDelete;

RecentGlobalXmin is just a hint, it lags behind the real oldest xmin
that GetOldestXmin() would return. If another backend has a more recent
RecentGlobalXmin value, and has killed more recent tuples on the page,
the latestRemovedXid written here is too old.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2009-01-16 14:36:26 Re: libpq WSACleanup is not needed
Previous Message Heikki Linnakangas 2009-01-16 14:22:36 Re: Visibility map and freezing