Re: Add an optional timeout clause to isolationtester step. - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Add an optional timeout clause to isolationtester step.
Date
Msg-id 20200311205254.GA2648@alvherre.pgsql
Whole thread Raw
In response to Re: Add an optional timeout clause to isolationtester step.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Add an optional timeout clause to isolationtester step.  (Michael Paquier <michael@paquier.xyz>)
Re: Add an optional timeout clause to isolationtester step.  (Julien Rouhaud <rjuju123@gmail.com>)
List pgsql-hackers
On 2020-Mar-11, Tom Lane wrote:

> We could re-use Julien's ideas about the isolation spec syntax by
> making it be, roughly,
> 
> step "<name>" { <SQL> } [ blocked if "<wait_event_type>" "<wait_event>" ]
> 
> and then those items would need to be passed as parameters of the prepared
> query.

I think for test readability's sake, it'd be better to put the BLOCKED
IF clause ahead of the SQL, so you can write it in the same line and let
the SQL flow to the next one:

STEP "long_select" BLOCKED IF "lwlock" "ClogControlLock"
  { select foo from pg_class where ... some more long clauses ... }

otherwise I think a step would require more lines to write.

> I'd like to see an attempt to rewrite some of the existing
> timeout-dependent test cases to use this facility instead of
> long timeouts.  If we could get rid of the timeouts in the
> deadlock tests, that'd go a long way towards showing that this
> idea is actually any good.

+1.  Those long timeouts are annoying enough that infrastructure to make
a run shorter in normal circumstances might be sufficient justification
for this patch ...

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Add an optional timeout clause to isolationtester step.
Next
From: Devrim Gunduz
Date:
Subject: Re: v13 latest snapshot build error