Re: pgsql: Reduce spurious Hot Standby conflicts from never-visible records

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Reduce spurious Hot Standby conflicts from never-visible records
Date: 2010-12-10 19:21:04
Message-ID: 27713.1292008864@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
> Reduce spurious Hot Standby conflicts from never-visible records.
> Hot Standby conflicts only with tuples that were visible at
> some point. So ignore tuples from aborted transactions or for
> tuples updated/deleted during the inserting transaction when
> generating the conflict transaction ids.

> Following detailed analysis and test case by Noah Misch.
> Original report covered btree delete records, correctly observed
> by Heikki Linnakangas that this applies to other cases also.
> Fix covers all sources of cleanup records via common code.
> Includes additional fix compared to commit on HEAD

ISTM HeapTupleHeaderAdvanceLatestRemovedXid is still pretty broken,
in that it's examining xmax without having checked that xmax is (a)
valid or (b) a lock rather than a deletion xmax.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2010-12-10 22:35:50 pgsql: Use symbolic names not octal constants for file permission flags
Previous Message Tom Lane 2010-12-10 16:36:40 pgsql: Fix efficiency problems in tuplestore_trim().

Browse pgsql-hackers by date

  From Date Subject
Next Message Dimitri Fontaine 2010-12-10 19:28:17 Re: Extensions, patch v16
Previous Message Dmitriy Igrishin 2010-12-10 18:26:11 Re: Extended query protocol and exact types matches.