Make isolationtester more robust on locked commands

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: c8dfc892327b1a1e14efe110b0f1f267ef56c7a9
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2011-07-19T18:22:42Z
Releases: 9.2.0
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

Files

PathChange+/−
src/test/isolation/isolationtester.c modified +93 −14