Re: Fix assert failure when decoding XLOG_PARAMETER_CHANGE on primary
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-02-24T11:31:30Z
Lists: pgsql-hackers
On Wed, Feb 12, 2025 at 5:22 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Wed, Feb 12, 2025 at 1:16 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > > > > Agreed, I'm fine with leaving InRecovery in this condition. I think > > the point is whether we should add StandbyMode to the condition or > > not. I think if we do that, we would end up with the same error in the > > above scenario I described. So does the following condition make > > sense? > > > > if (InRecovery && > > xlrec.wal_level < WAL_LEVEL_LOGICAL && > > wal_level >= WAL_LEVEL_LOGICAL) > > InvalidateObsoleteReplicationSlots(RS_INVAL_WAL_LEVEL, > > 0, InvalidOid, > > InvalidTransactionId); > > > > This will still be true for crash-recovery as the InRecovery flag will > be true for that case as well. I think we should go with your v2 patch > approach for HEAD and back-branches. > Any opinion on how to proceed here? -- With Regards, Amit Kapila.
Commits
-
Fix assertion when decoding XLOG_PARAMETER_CHANGE on promoted primary.
- cc628f66187c 16.9 landed
- 174952ece1c0 17.5 landed
- 48796a98d5ae 18.0 landed