> On Apr 27, 2022, at 10:11 AM, Mark Dilger <mark.dil...@enterprisedb.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





Reply via email to