Re: random isolation test failures
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Noah Misch <noah@leadboat.com>, Andrew Dunstan <andrew@dunslane.net>, Kevin Grittner <kevin.grittner@wicourts.gov>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2011-09-27T19:22:57Z
Lists: pgsql-hackers
Attachments
- isolation-fix-2.patch (application/octet-stream) patch
Excerpts from Tom Lane's message of mar sep 27 01:11:39 -0300 2011: > > Alvaro Herrera <alvherre@commandprompt.com> writes: > > I just tweaked isolationtester so that it collects the error messages > > and displays them all together at the end of the test. After seeing it > > run, I didn't like it -- I think I prefer something more local, so that > > in the only case where we call try_complete_step twice in the loop, we > > report any errors in either. AFAICS this would make both expected cases > > behave identically in test output. > > Hmm, is that really an appropriate fix? I'm worried that it might mask > event-ordering differences that actually are significant. In the attached, it only affects the case where there is one blocking command and another command that unblocks it; this is only exercised by the much-beaten fk-deadlock cases. If either of the steps fails with a deadlock error, it is reported identically, i.e. the error message is emitted as "error in s1u1 s2u1: ERROR: deadlock detected" So the deadlock could have been detected in either s1u1 or s2u1; we don't really care. The way error messages are reported in all the other cases is not changed, and these do not have a prefix; so if anything were to behave differently, we would find out because a spurious prefix would appear. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support