Re: Introduce XID age and inactive timeout based replication slot invalidation
От | shveta malik |
---|---|
Тема | Re: Introduce XID age and inactive timeout based replication slot invalidation |
Дата | |
Msg-id | CAJpy0uC6nN3SLbEuCvz7-CpaPdNdXxH=feW5MhYQch-JWV0tLg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Introduce XID age and inactive timeout based replication slot invalidation (shveta malik <shveta.malik@gmail.com>) |
Ответы |
Re: Introduce XID age and inactive timeout based replication slot invalidation
|
Список | pgsql-hackers |
On Wed, Sep 18, 2024 at 12:21 PM shveta malik <shveta.malik@gmail.com> wrote: > > On Mon, Sep 16, 2024 at 3:31 PM Bharath Rupireddy > <bharath.rupireddyforpostgres@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
В списке pgsql-hackers по дате отправления: