Re: [BUG] non archived WAL removed during production crash recovery
Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
From: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
masao.fujii@oss.nttdata.com, pgsql-bugs@lists.postgresql.org
Date: 2020-04-20T12:22:35Z
Lists: pgsql-bugs, pgsql-hackers
On Mon, 20 Apr 2020 16:34:44 +0900 Michael Paquier <michael@paquier.xyz> wrote: [...] > > By the way I noticed that RecoveryState is exactly a subset of > > DBState. And changes of SharedRecoveryState happens side-by-side with > > ControlFileData->state in most places. Coundn't we just usee > > ControlFile->state instead of SharedRecoveryState? > > I actually found confusing to use the same thing, because then the > reader would thing that SharedRecoveryState could be set to more > values but we don't want that. I thought about this while studying various possible fix. https://www.postgresql.org/message-id/flat/20200401181735.11100908%40firost#6192afba4e4549b8d9bac03168bad46b The problem is that we would have to read the controldata file each time we wonder if a segment should be archived/removed. Moreover, the controldata file might not be in sync quickly enough with the real state for some other code path or futur needs. [...] > Attached is an updated patch, where I tweaked more comments. > > Jehan-Guillaume, who is your colleague who found originally about this > problem? We should credit him in the commit message. Indeed, Benoît Lobréau reported this behavior to me. Regards,
Commits
-
Fix interpolation in test name.
- e16e9204692c 11.10 landed
- af2d09fa1c28 12.5 landed
- 6fb1c5b52826 13.0 landed
- 47a3a1c3d498 14.0 landed
-
Add more TAP coverage for archive status with crash recovery of standbys
- ebf6de869276 13.0 landed
-
Fix handling of WAL segments ready to be archived during crash recovery
- 9eff11653962 9.5.22 landed
- c2d8ae0dfe84 9.6.18 landed
- 02657c42199c 10.13 landed
- 2d24ca00b750 11.8 landed
- 22db5269bfa1 12.3 landed
- 4e87c4836ab9 13.0 landed
-
Fix WAL recycling on standbys depending on archive_mode
- 78ea8b5daab9 12.0 cited