Re: pgsql: Add isolationtester spec for old heapam.c bug

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: pgsql-committers@postgresql.org
Date: 2016-02-29T18:08:42Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Tom Lane wrote:
>> guaibasaurus is not a particularly slow machine, and it's not using any
>> special build flags AFAICT.  So I'm not sure what to make of this case,
>> except that it proves the timing problem can manifest on normal builds.

> Hmm, I suppose I could fix this by using three different advisory locks
> rather than a single one.  (My assumption is that the timing dependency
> is the order in which the backends are awakened when the advisory lock
> is released.)  I would release the locks one by one rather than all
> together.

Sounds plausible.  You would probably need several seconds' pg_sleep() in
between the lock releases to ensure that even on slow/overloaded machines,
there's enough time for all wakened backends to do what they're supposed
to do.

			regards, tom lane


Commits

  1. Make new isolationtester test more stable

  2. Add isolationtester spec for old heapam.c bug