Re: Unstable tests for recovery conflict handling

From: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Unstable tests for recovery conflict handling
Date: 2022-04-27 17:50:06
Message-ID: A188C72D-E63F-405A-8992-237E1995CB38@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

> On Apr 27, 2022, at 10:11 AM, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> wrote:
>
> I'll try again on master....

Still with coverage and dtrace enabled, I get the same thing, except that master formats the logs a bit differently:

# Postmaster PID for node "primary" is 19797
psql:<stdin>:1: ERROR: prepared transaction with identifier "xact_012_1" does not exist
[10:26:16.314](1.215s) not ok 11 - Rollback of PGPROC_MAX_CACHED_SUBXIDS+ prepared transaction on promoted standby
[10:26:16.314](0.000s)
[10:26:16.314](0.000s) # Failed test 'Rollback of PGPROC_MAX_CACHED_SUBXIDS+ prepared transaction on promoted standby'
[10:26:16.314](0.000s) # at t/012_subtransactions.pl line 208.
[10:26:16.314](0.000s) # got: '3'
# expected: '0'

With coverage but not dtrace enabled, I still get the error, though the log leading up to the error now has a bunch of coverage noise lines like:

profiling: /Users/mark.dilger/recovery_test/postgresql/src/backend/utils/sort/tuplesort.gcda: cannot merge previous GCDA file: corrupt arc tag

The error itself looks the same except the timing numbers differ a little.

With neither enabled, all tests pass.

I'm inclined to think that either the recovery code or the test have a race condition, and that enabling coverage causes the race to come out differently. I'll keep poking....


Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-04-27 18:08:45 Re: Unstable tests for recovery conflict handling
Previous Message Jeff Davis 2022-04-27 17:30:21 Re: pgsql: Add contrib/pg_walinspect.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-04-27 18:08:45 Re: Unstable tests for recovery conflict handling
Previous Message Jeff Davis 2022-04-27 17:30:21 Re: pgsql: Add contrib/pg_walinspect.