Re: POC: Better infrastructure for automated testing of concurrency issues - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: POC: Better infrastructure for automated testing of concurrency issues
Date
Msg-id CAPpHfdun6yL1BWcHXFA5OOk9rxnx7hV5ovMrGhSd_zUZ2=+oEA@mail.gmail.com
Whole thread Raw
In response to Re: POC: Better infrastructure for automated testing of concurrency issues  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-hackers
On Fri, Dec 4, 2020 at 9:29 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> On 2020-Nov-25, Alexander Korotkov wrote:
> > In the view of above, I'd like to propose a POC patch, which implements new
> > builtin infrastructure for reproduction of concurrency issues in automated
> > test suites.  The general idea is so-called "stop events", which are
> > special places in the code, where the execution could be stopped on some
> > condition.  Stop event also exposes a set of parameters, encapsulated into
> > jsonb value.  The condition over stop event parameters is defined using
> > jsonpath language.
>
> +1 for the idea.  I agree we have a need for something on this area;
> there are *many* scenarios currently untested because of the lack of
> what you call "stop points".  I don't know if jsonpath is the best way
> to implement it, but at least it is readily available and it seems a
> decent way to go at it.

Thank you for your feedback.  I agree with you regarding jsonpath.  My
initial idea was to use the executor expressions.  But executor
expressions require serialization/deserialization, while stop points
need to work cross-database or even with processes not connected to
any database (such as checkpointer, background writer etc).  That
leads to difficulties, while jsonpath appears to be very easy for this
use-case.

------
Regards,
Alexander Korotkov



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCH] Add support for leading/trailing bytea trim()ing
Next
From: Alexander Korotkov
Date:
Subject: Re: POC: Better infrastructure for automated testing of concurrency issues