pgsql: Make isolationtester more robust on locked commands

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make isolationtester more robust on locked commands
Date: 2011-07-19 18:37:23
Message-ID: E1QjFAZ-0001at-C3@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make isolationtester more robust on locked commands

Noah Misch diagnosed the buildfarm problems in the isolation tests
partly as failure to differentiate backends properly; the old code was
using backend IDs, which is not good enough because a new backend might
use an already used ID. Use PIDs instead.

Also, the code was purposely careless about other concurrent activity,
because it isn't expected; and in fact, it doesn't affect the vast
majority of the time. However, it can be observed that autovacuum can
block tables for long enough to cause sporadic failures. The new code
accounts for that by ignoring locks held by processes not explicitly
declared in our spec file.

Author: Noah Misch

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c8dfc892327b1a1e14efe110b0f1f267ef56c7a9

Modified Files
--------------
src/test/isolation/isolationtester.c | 107 +++++++++++++++++++++++++++++-----
1 files changed, 93 insertions(+), 14 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2011-07-19 19:49:26 Re: [COMMITTERS] pgsql: Remove O(N^2) performance issue with multiple SAVEPOINTs.
Previous Message Alvaro Herrera 2011-07-19 16:58:44 pgsql: Add expected regress output on stricter isolation levels