Re: Add isolation test template in injection_points for wait/wakeup/detach

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-10-18T07:58:26Z
Lists: pgsql-hackers
Hi,

On Fri, Oct 18, 2024 at 07:44:08AM +0900, Michael Paquier wrote:
> Hi all,
> 
> This was on my TODO bucket for some time.  The isolation test
> "inplace" in the isolation test suite for injection_points relies on a
> couple of behaviors implemented in the backend.  One of them is that a
> point detach should not affect a wait.  Rather than having to guess
> this stuff from the sole isolation test we have in this module, I
> would like to add a simple test to document all these assumptions.

> This also works as a simple template for a newcomer willing to
> implement an isolation test with injection points.  That's less
> intimidating than the inplace test with its VACUUM and GRANT
> interactions, based on an injection point run when updating the stats
> of a relation in VACUUM.

> 
> Thoughts?

I think that it makes sense to "expose" the basics in a dedicated test. 

I thought that template.spec could have been another "naming" option but
basic.spec is better I think.

The test is pretty straightforward so I don't have that much to say, just one Nit:

1 ===

+# Detach before wait does not cause a wait.

What about?

Detach before wait does not cause a wait (and so wakeup produces an error)

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



Commits

  1. injection_points: Tweak more permutation in isolation test "basic"

  2. injection_points: Re-enable permutation in isolation test "basic"

  3. injection_points: Improve comment about disabled isolation permutation

  4. injection_points: Disable one permutation in isolation test "basic"

  5. injection_points: Add basic isolation test