On Wed, Sep 18, 2024 at 12:21 PM shveta malik <shveta.ma...@gmail.com> wrote: > > On Mon, Sep 16, 2024 at 3:31 PM Bharath Rupireddy > <bharath.rupireddyforpostg...@gmail.com> wrote: > > > > Hi, > > > > > > Please find the attached v46 patch having changes for the above review > > comments and your test review comments and Shveta's review comments. > > > > Thanks for addressing comments. > > Is there a reason that we don't support this invalidation on hot > standby for non-synced slots? Shouldn't we support this time-based > invalidation there too just like other invalidations? >
Now since we are not changing inactive_since once it is invalidated, we are not even initializing it during restart; and thus later when someone tries to use slot, it leads to assert in ReplicationSlotAcquire() ( Assert(s->inactive_since > 0); Steps: --Disable logical subscriber and let the slot on publisher gets invalidated due to inactive_timeout. --Enable the logical subscriber again. --Restart publisher. a) We should initialize inactive_since when ReplicationSlotSetInactiveSince() is called from RestoreSlotFromDisk() even though it is invalidated. b) And shall we mention in the doc of 'active_since', that once the slot is invalidated, this value will remain unchanged until we shutdown the server. On server restart, it is initialized to start time. Thought? thanks Shveta