odd buildfarm failure - "pg_ctl: control file appears to be corrupt"
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Date: 2022-11-23T01:42:24Z
Lists: pgsql-hackers
Hi, My buildfarm animal grassquit just showed an odd failure [1] in REL_11_STABLE: ok 10 - standby is in recovery # Running: pg_ctl -D /mnt/resource/bf/build/grassquit/REL_11_STABLE/pgsql.build/src/bin/pg_ctl/tmp_check/t_003_promote_standby2_data/pgdata promote waiting for server to promote....pg_ctl: control file appears to be corrupt not ok 11 - pg_ctl promote of standby runs # Failed test 'pg_ctl promote of standby runs' # at /mnt/resource/bf/build/grassquit/REL_11_STABLE/pgsql.build/../pgsql/src/test/perl/TestLib.pm line 474. I didn't find other references to this kind of failure. Nor has the error re-occurred on grassquit. I don't immediately see a way for this message to be hit that's not indicating a bug somewhere. We should be updating the control file in an atomic way and read it in an atomic way. The failure has to be happening in wait_for_postmaster_promote(), because the standby2 is actually successfully promoted. Greetings, Andres Freund [1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=grassquit&dt=2022-11-22%2016%3A33%3A57
Commits
-
Try to handle torn reads of pg_control in frontend.
- 63a582222c6b 17.0 landed
- 43c979086825 12.17 landed
- 67060be3df34 13.13 landed
- dc75748a918e 14.10 landed
- 5e39884d322a 15.5 landed
- 5725e4ebe7a9 16.1 landed
-
Acquire ControlFileLock in relevant SQL functions.
- f1634c968101 11.22 landed
- 637e86ecc5e4 12.17 landed
- ae9da357bd6d 13.13 landed
- a56fe5cf07fe 14.10 landed
- 606be8a35d97 15.5 landed
- 2371432cd6b9 16.1 landed
- c558e6fd92ff 17.0 landed