Re: RFC: Making TRUNCATE more "MVCC-safe"

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, Marti Raudsepp <marti(at)juffo(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: RFC: Making TRUNCATE more "MVCC-safe"
Date: 2012-03-09 03:46:10
Message-ID: CA+TgmoayNvvOvePFDPxXcMydJ1qWh9f-rDC9tY5h7orkw1YH7w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 7, 2012 at 5:41 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
>> Case #2 is certainly a problem for FrozenXID as well, because anything
>> that's marked with FrozenXID is going to look visible to everybody,
>> including our older snapshots.  And I gather you're saying it's also a
>> problem for HEAP_XMIN_COMMITTED.
>
> The problem there is that later subtransactions often have xids that
> are greater than xmax, so the xid shows as running when we do
> XidInMVCCSnapshot(), which must then be altered for this one weird
> case. I tried that and not happy with result.

Altering XidInMVCCSnapshot() seems like a good thing to avoid, but I
confess I don't quite follow what you're describing here otherwise.

>> I had assumed that the way we were
>> fixing this problem was to disable these optimizations for
>> transactions that had more than one snapshot floating around.  I'm not
>> sure whether the patch does that or not, but I think it probably needs
>> to
>
> It does. I thought you already read the patch?

I glanced over it, but did not look through it in detail. I'll do a
more careful look at your next version.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-03-09 04:13:02 pg_prewarm
Previous Message Bruce Momjian 2012-03-09 01:40:01 Re: pg_upgrade --logfile option documentation