Re: Fix assert failure when decoding XLOG_PARAMETER_CHANGE on primary
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-02-24T15:13:27Z
Lists: pgsql-hackers
Hi, On Mon, Feb 24, 2025 at 05:01:30PM +0530, Amit Kapila wrote: > 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? As far I'm concerned, I did not change my mind since [1] and think the same i.e: go with v2 for HEAD and back-branches. [1]: https://www.postgresql.org/message-id/Z6W7GtSzeDcZec%2Bf%40ip-10-97-1-34.eu-west-3.compute.internal Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Fix assertion when decoding XLOG_PARAMETER_CHANGE on promoted primary.
- cc628f66187c 16.9 landed
- 174952ece1c0 17.5 landed
- 48796a98d5ae 18.0 landed