On Thu, Jul 10, 2025 at 2:35 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, Jul 10, 2025 at 2:23 PM vignesh C <vignesh21@gmail.com> wrote:
> >
> > Few comments:
> > 1) With the current approach invalidation will not happen for logical
> > replication slots during upgrade operation, I felt we could retain
> > this assertion just in case in the future it gets called from
> > elsewhere, do you feel this assertion should be removed in the new
> > approach too?
> > - /*
> > - * The logical replication slots shouldn't be invalidated as GUC
> > - * max_slot_wal_keep_size is set to -1 and
> > - * idle_replication_slot_timeout is set to 0 during the binary
> > - * upgrade. See check_old_cluster_for_valid_slots()
> > where we ensure
> > - * that no invalidated before the upgrade.
> > - */
> > - Assert(!(*invalidated && SlotIsLogical(s) && IsBinaryUpgrade));
> >
>
> I don't think we need this assertion. This is a static function, and
> we skipped calling this function in its caller, so it doesn't make
> sense to have this assertion.
I agree.
> > 2) Documentation
> > 2.a) Currently slot invalidation will not happen during upgrade
> > because of idle_replication_slot_timeout, do you feel we should add a
> > note in documentation or is it ok not to mention?
> > 2.b) Currently WAL removal will not happen during upgrade because of
> > max_slot_wal_keep_size, should we add a note about this.
> >
>
> We skip or do a few special things in other parts of the code during
> BinaryUpgrade, but don't mention those, so don't think we need to
> mention this one as well.
Make sense
--
Regards,
Dilip Kumar
Google