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

From: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Add isolation test template in injection_points for wait/wakeup/detach
Date: 2025-02-05 11:03:25
Message-ID: Z6NFfZSqPg1PE09j@ip-10-97-1-34.eu-west-3.compute.internal
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Wed, Feb 05, 2025 at 03:12:53PM +0900, Michael Paquier wrote:
> On Thu, Oct 31, 2024 at 08:47:04AM +0900, Michael Paquier wrote:
> > Thanks for the review. Applied that, then.
>
> I was looking at src/test/isolation/README, and based on what is
> described for parenthesized markers (which I didn't know about so we
> learn a new thing every day), it is possible to force a strict
> ordering of the test. Quote that matters:
> "A marker consisting solely of a step name indicates that this step
> may not be reported as completing until that other step has
> completed."

Oh, I did not know about it too (thanks for sharing).

> In our case, the problem that caused 9f00edc22888 is that the "wait"
> step could be so slow that the "detach" step could report before the
> "wait" step.

Yup.

> So I'd like to propose that we revisit 9f00edc22888, and re-enable the
> permutation with a marker so as the "detach" step waits for the "wait"
> step to complete before printing its own report, as per the attached.
> That should make the permutation safe to use.
>
> The output of the attached patch is the same as what has been removed
> in 9f00edc22888 except that the permutation is changed from that:
> permutation wait1 wakeup2 detach2
> To that, making sure that detach2 report happens only after wait1
> has returned its own result:
> permutation wait1 wakeup2 detach2(wait1)
>
> Thoughts?

I think that makes sense and the patch LGTM.
A few tests are already using this technique (including injection_points in
inplace.spec).

Regards,

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Zhijie Hou (Fujitsu) 2025-02-05 11:07:48 RE: Conflict detection for update_deleted in logical replication
Previous Message Michael Paquier 2025-02-05 10:31:13 Re: per backend WAL statistics