Re: Hot Standby dev build (v8) - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Hot Standby dev build (v8)
Date
Msg-id 49709AA3.7050007@enterprisedb.com
Whole thread Raw
In response to Re: Hot Standby dev build (v8)  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Hot Standby dev build (v8)  (Simon Riggs <simon@2ndQuadrant.com>)
List 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


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Visibility map and freezing
Next
From: Magnus Hagander
Date:
Subject: Re: libpq WSACleanup is not needed