Re: failures in t/031_recovery_conflict.pl on CI

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org, Thomas Munro <thomas.munro@gmail.com>
Date: 2022-05-03T01:48:03Z
Lists: pgsql-hackers
Hi,

On 2022-04-29 19:26:59 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > - The test uses pump_until() and wait_for_log(), which don't exist in the
> >   backbranches. For now I've just inlined the implementation, but I guess we
> >   could also backpatch their introduction?
> 
> I'd backpatch --- seems unlikely this will be the last need for 'em.

Done.

I ended up committing the extension of the test first, before the fix. I think
that's the cause of the failure on longfin on serinus. Let's hope the
situation improves with the now also committed (and backpatched) fix.


> > pgindent uses some crazy formatting nearby:
> >         SendRecoveryConflictWithBufferPin(
> >                                           PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK);
> 
> I do not believe that that line break is pgindent's fault.

Oh - I'm fairly certain I've seen pgindent do that in the past. But you're
right, it's not. Perhaps it was an older version of pgindent?

Greetings,

Andres Freund



Commits

  1. Disable 031_recovery_conflict.pl until after minor releases.

  2. Temporarily skip recovery deadlock test in back branches.

  3. Backpatch addition of pump_until() more completely.

  4. Fix timing issue in deadlock recovery conflict test.

  5. Backpatch 031_recovery_conflict.pl.

  6. Fix possibility of self-deadlock in ResolveRecoveryConflictWithBufferPin().

  7. Backpatch addition of wait_for_log(), pump_until().

  8. Add tests for recovery deadlock conflicts.

  9. Phase 3 of pgindent updates.