From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Continuing instability in insert-conflict-specconflict test |
Date: | 2021-06-13 22:22:12 |
Message-ID: | 20210613222212.GC741496@rfd.leadboat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Jun 13, 2021 at 06:09:20PM -0400, Tom Lane wrote:
> Noah Misch <noah(at)leadboat(dot)com> writes:
> > On Sun, Jun 13, 2021 at 04:48:48PM -0400, Tom Lane wrote:
> >> * Adjust the test script's functions to emit a NOTICE *after* acquiring
> >> a lock, not before.
>
> > I suspect that particular lock acquisition merely unblocks the processing that
> > reaches the final lock state expected by the test. So, ...
>
> Ah, you're probably right.
>
> >> * Annotate permutations with something along the lines of "expect N
> >> NOTICE outputs before allowing this step to be considered complete",
> >> which we'd attach to the unlock steps.
>
> > ... I don't expect this to solve $SUBJECT. It could be a separately-useful
> > feature, though.
>
> I think it would solve it. In the examples at hand, where we have
>
> @@ -377,8 +377,6 @@
> pg_advisory_unlock
>
> t
> -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1
> -s1: NOTICE: acquiring advisory lock on 2
> step s2_upsert: <... completed>
> step controller_print_speculative_locks:
> SELECT pa.application_name, locktype, mode, granted
It would solve that one particular diff. I meant that it wouldn't solve the
aforementioned pg_locks diffs:
dory │ 2020-03-14 19:35:31 │ HEAD │ http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=dory&dt=2020-03-14%2019%3A35%3A31
walleye │ 2021-03-25 05:00:44 │ REL_13_STABLE │ http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=walleye&dt=2021-03-25%2005%3A00%3A44
walleye │ 2021-05-05 17:00:41 │ REL_13_STABLE │ http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=walleye&dt=2021-05-05%2017%3A00%3A41
> We might be able to get rid of the stuff about concurrent step
> completion in isolationtester.c if we required the spec files
> to use annotations to force a deterministic step completion
> order in all such cases.
Yeah. If we're willing to task spec authors with that, the test program can't
then guess wrong under unusual timing.
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2021-06-13 23:49:04 | Re: Continuing instability in insert-conflict-specconflict test |
Previous Message | Tom Lane | 2021-06-13 22:09:20 | Re: Continuing instability in insert-conflict-specconflict test |