pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Subject: [PATCH] Fix isolation test to be less timing-dependent
Date: Wed, 3 Jan 2018 11:16:34 -0300

I did this by adding another locking process, which makes the other two
wait.  This way the output should be stable enough.  However, it means
isolationtester older than 9.6 is unable to run this test, so remove it.

Per buildfarm and Andres Freund
Discussion: https://postgr.es/m/20180103034445.t3utrtrnrevfsghm@alap3.anarazel.de
---
 src/test/isolation/expected/multiple-cic.out | 17 +++++++++++------
 src/test/isolation/specs/multiple-cic.spec   | 12 ++++++++----
 2 files changed, 19 insertions(+), 10 deletions(-)

inline patch 1: src/test/isolation/expected/multiple-cic.out, src/test/isolation/specs/multiple-cic.spec (+19/-10 lines) download inline-1.patchdiff --git a/src/test/isolation/expected/multiple-cic.out b/src/test/isolation/expected/multiple-cic.out index cc57940392..0b470e7d1d 100644 --- a/src/test/isolation/expected/multiple-cic.out +++ b/src/test/isolation/expected/multiple-cic.out @@ -1,6 +1,9 @@ -Parsed test spec with 2 sessions +Parsed test spec with 3 sessions -starting permutation: s2l s1i s2i +starting permutation: s2l s1i s2i s3u +pg_advisory_lock + + step s2l: SELECT pg_advisory_lock(281457); pg_advisory_lock @@ -11,9 +14,11 @@ step s1i: <waiting ...> step s2i: CREATE INDEX CONCURRENTLY mcic_two_pkey ON mcic_two (id) - WHERE unlck(); + WHERE unlck() AND lck_shr(572814); + <waiting ...> +step s3u: SELECT unlck(); +unlck +t step s1i: <... completed> -s1 - - +step s2i: <... completed> diff --git a/src/test/isolation/specs/multiple-cic.spec b/src/test/isolation/specs/multiple-cic.spec index a7ba4eb4fd..fbec67ee25 100644 --- a/src/test/isolation/specs/multiple-cic.spec +++ b/src/test/isolation/specs/multiple-cic.spec @@ -26,15 +26,19 @@ session "s1" step "s1i" { CREATE INDEX CONCURRENTLY mcic_one_pkey ON mcic_one (id) WHERE lck_shr(281457); - } -teardown { SELECT pg_advisory_unlock_all() AS "s1"; } +} +step "s1u" { SELECT unlck(); } session "s2" step "s2l" { SELECT pg_advisory_lock(281457); } step "s2i" { CREATE INDEX CONCURRENTLY mcic_two_pkey ON mcic_two (id) - WHERE unlck(); + WHERE unlck() AND lck_shr(572814); } -permutation "s2l" "s1i" "s2i" +session "s3" +setup { SELECT pg_advisory_lock(572814); } +step "s3u" { SELECT unlck(); } + +permutation "s2l" "s1i" "s2i" "s3u" -- 2.11.0
--jv4db6vu2dvcufcq--

Message-ID: <no-message-id-5184@localhost>
Permalink:  ../no-message-id-5184@localhost/
Also on:    postgresql.org/message-id/no-message-id-5184@localhost

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: alvherre@alvh.no-ip.org
  Subject: Re: [PATCH] Fix isolation test to be less timing-dependent
  In-Reply-To: <no-message-id-5184@localhost>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox