On Tue, 10 Dec 2024 at 17:21, Nisha Moond <nisha.moond...@gmail.com> wrote: > > On Fri, Dec 6, 2024 at 11:04 AM vignesh C <vignes...@gmail.com> wrote: > > > > > > Determining the correct time may be challenging for users, as it > > depends on when the active_since value is set, as well as when the > > checkpoint_timeout occurs and the subsequent checkpoint is triggered. > > Even if the user sets it to an appropriate value, there is still a > > possibility of delayed identification due to the timing of when the > > slot's active_timeout is being set. Including this information in the > > documentation should be sufficient. > > > > +1 > v54 documents this information as suggested. > > Attached the v54 patch-set addressing all the comments till now in > [1], [2] and [3].
Now that we support idle_replication_slot_timeout in milliseconds, we can set this value from 1s to 1ms or 10millseconds and change sleep to usleep, this will bring down the test execution time significantly: +# Set timeout GUC on the standby to verify that the next checkpoint will not +# invalidate synced slots. +my $idle_timeout_1s = 1; +$standby1->safe_psql( + 'postgres', qq[ + ALTER SYSTEM SET idle_replication_slot_timeout TO '${idle_timeout_1s}s'; +]); +$standby1->reload; + +# Sync the primary slots to the standby +$standby1->safe_psql('postgres', "SELECT pg_sync_replication_slots();"); + +# Confirm that the logical failover slot is created on the standby +is( $standby1->safe_psql( + 'postgres', + q{SELECT count(*) = 1 FROM pg_replication_slots + WHERE slot_name = 'sync_slot1' AND synced + AND NOT temporary + AND invalidation_reason IS NULL;} + ), + "t", + 'logical slot sync_slot1 is synced to standby'); + +# Give enough time for inactive_since to exceed the timeout +sleep($idle_timeout_1s + 1); Regards, Vignesh