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
pgsql-hackers by date
|Next:||From: Dimitri Fontaine||Date: 2010-12-10 19:28:17|
|Subject: Re: Extensions, patch v16|
|Previous:||From: Dmitriy Igrishin||Date: 2010-12-10 18:26:11|
|Subject: Re: Extended query protocol and exact types matches.|
pgsql-committers by date
|Next:||From: Tom Lane||Date: 2010-12-10 22:35:50|
|Subject: pgsql: Use symbolic names not octal constants for file permissionflags|
|Previous:||From: Tom Lane||Date: 2010-12-10 16:36:40|
|Subject: pgsql: Fix efficiency problems in tuplestore_trim().|