From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Summary and Plan for Hot Standby |
Date: | 2009-12-12 12:07:26 |
Message-ID: | 1260619647.10425.62.camel@ebony |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, 2009-11-15 at 16:07 +0200, Heikki Linnakangas wrote:
> - When replaying b-tree deletions, we currently wait out/cancel all
> running (read-only) transactions. We take the ultra-conservative
> stance because we don't know how recent the tuples being deleted are.
> If we could store a better estimate for latestRemovedXid in the WAL
> record, we could make that less conservative.
I think I can improve on the way we do this somewhat.
When we GetConflictingVirtualXIDs() with InvalidTransactionId we include
all backends.
If a query can only see currently-running xacts then it cannot see any
data that is being cleaned up because its xmin > latestCompletedXid.
Put another way, Assert(latestRemovedXid <= latestCompletedXid)
--
Simon Riggs www.2ndQuadrant.com
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2009-12-12 12:51:49 | Re: SE-PostgreSQL/Lite Review |
Previous Message | Magnus Hagander | 2009-12-12 11:24:00 | Re: LDAP where DN does not include UID attribute |