Re: Testing LISTEN/NOTIFY more effectively
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@lists.postgresql.org, Peter Geoghegan <pg@bowt.ie>
Date: 2019-07-27T19:39:44Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2019-07-27 14:15:39 -0400, Tom Lane wrote:
>> So I think we should apply something like the attached, and if the
>> buildfarm shows any instability as a result, dealing with that by
>> taking out the RAISE NOTICE commands.
> +1
>> diff --git a/src/test/isolation/expected/insert-conflict-specconflict.out b/src/test/isolation/expected/insert-conflict-specconflict.out
>> index 5726bdb..20cc421 100644
>> --- a/src/test/isolation/expected/insert-conflict-specconflict.out
>> +++ b/src/test/isolation/expected/insert-conflict-specconflict.out
>> @@ -13,7 +13,11 @@ pg_advisory_locksess lock
>> step controller_show: SELECT * FROM upserttest;
>> key data
>>
>> +s1: NOTICE: called for k1
>> +s1: NOTICE: blocking 3
>> step s1_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s1') ON CONFLICT (blurt_and_lock(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s1'; <waiting ...>
>> +s2: NOTICE: called for k1
>> +s2: NOTICE: blocking 3
> Hm, that actually makes the test - which is pretty complicated - easier
> to understand.
Unfortunately, I just found out that on a slow enough machine
(prairiedog's host) there *is* some variation in when that test's
notices come out. I am unsure whether that's to be expected or
whether there's something wrong there --- Peter, any thoughts?
What I will do for the moment is remove the client_min_messages=WARNING
setting from isolationtester.c and instead put it into
insert-conflict-specconflict.spec, which seems like a saner
way to manage this. If we can get these messages to appear
stably, we can just fix that spec file.
>> +s1: NOTICE: x = foofoofoofo
> Yea, there indeed does not not much point in this.
Maybe we could just log the lengths of the strings... if there's
anything broken, we could expect that the decompressed output
would be a different length.
regards, tom lane
Commits
-
Improve test coverage for LISTEN/NOTIFY.
- 8173fa5abb16 9.6.17 landed
- 34f66c0ed800 10.12 landed
- 7d4c3118137a 12.2 landed
- 295054411ebb 11.7 landed
- b10f40bf0e45 13.0 landed
-
Don't drop NOTICE messages in isolation tests.
- b1016834d325 12.0 landed
- ebd49928215e 13.0 landed
-
Fix isolationtester race condition for notices sent before blocking.
- 97fb88ea4a64 12.0 landed
- 30717637c1c5 13.0 landed