Skip site navigation (1) Skip section navigation (2)

Re: pika buildfarm member failure on isolationCheck tests

From: Dan Ports <drkp(at)csail(dot)mit(dot)edu>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: R?mi Zara <remi_zara(at)mac(dot)com>,PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>,Andrew Dunstan <andrew(at)dunslane(dot)net>,Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>,Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Subject: Re: pika buildfarm member failure on isolationCheck tests
Date: 2011-06-21 02:18:28
Message-ID: 20110621021828.GL83336@csail.mit.edu (view raw or flat)
Thread:
Lists: pgsql-hackers
While testing the fix for this one, I found another bug. Patches for
both are attached.

The first patch addresses this bug by re-adding SXACT_FLAG_ROLLED_BACK,
in a more limited form than its previous incarnation.

We need to be able to distinguish transactions that have already
called ReleasePredicateLocks and are thus eligible for cleanup from
those that have been merely marked for abort by other
backends. Transactions that are ROLLED_BACK are excluded from
SxactGlobalXmin calculations, but those that are merely DOOMED need to
be included.

Also update a couple of assertions to ensure we only try to clean up
ROLLED_BACK transactions.


The second patch fixes a bug in PreCommit_CheckForSerializationFailure.
This function checks whether there's a dangerous structure of the form
     far ---> near ---> me
where neither the "far" or "near" transactions have committed. If so, 
it aborts the "near" transaction by marking it as DOOMED. However, that
transaction might already be PREPARED. We need to check whether that's
the case and, if so, abort the transaction that's trying to commit
instead.

One of the prepared_xacts regression tests actually hits this bug.
I removed the anomaly from the duplicate-gids test so that it fails in
the intended way, and added a new test to check serialization failures
with a prepared transaction.

Dan

-- 
Dan R. K. Ports              MIT CSAIL                http://drkp.net/

Attachment: check-conflict-prepared.patch
Description: text/x-diff (3.9 KB)
Attachment: readd-rolled-back-flag.patch
Description: text/x-diff (4.2 KB)

In response to

Responses

pgsql-hackers by date

Next:From: Pavel StehuleDate: 2011-06-21 03:51:45
Subject: Re: Fwd: Keywords in pg_hba.conf should be field-specific
Previous:From: Brendan JurdDate: 2011-06-21 01:25:07
Subject: Re: Fwd: Keywords in pg_hba.conf should be field-specific

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group