On Sat, Mar 23, 2024 at 3:02 AM Bharath Rupireddy <bharath.rupireddyforpostg...@gmail.com> wrote: > > On Fri, Mar 22, 2024 at 3:15 PM Bertrand Drouvot > <bertranddrouvot...@gmail.com> wrote: > > > > > > Worth to add some tests too (or we postpone them in future commits because > > we're > > confident enough they will follow soon)? > > Yes. Added some tests in a new TAP test file named > src/test/recovery/t/043_replslot_misc.pl. This new file can be used to > add miscellaneous replication tests in future as well. I couldn't find > a better place in existing test files - tried having the new tests for > physical slots in t/001_stream_rep.pl and I didn't find a right place > for logical slots. >
How about adding the test in 019_replslot_limit? It is not a direct fit but I feel later we can even add 'invalid_timeout' related tests in this file which will use last_inactive_time feature. It is also possible that some of the tests added by the 'invalid_timeout' feature will obviate the need for some of these tests. Review of v15 ============== 1. @@ -1026,7 +1026,8 @@ CREATE VIEW pg_replication_slots AS L.conflicting, L.invalidation_reason, L.failover, - L.synced + L.synced, + L.last_inactive_time FROM pg_get_replication_slots() AS L As mentioned previously, let's keep these new fields before conflicting and after two_phase. 2. +# Get last_inactive_time value after slot's creation. Note that the slot is still +# inactive unless it's used by the standby below. +my $last_inactive_time_1 = $primary->safe_psql('postgres', + qq(SELECT last_inactive_time FROM pg_replication_slots WHERE slot_name = '$sb_slot' AND last_inactive_time IS NOT NULL;) +); We should check $last_inactive_time_1 to be a valid value and add a similar check for logical slots. 3. BTW, why don't we set last_inactive_time for temporary slots (RS_TEMPORARY) as well? Don't we even invalidate temporary slots? If so, then I think we should set last_inactive_time for those as well and later allow them to be invalidated based on timeout parameter. -- With Regards, Amit Kapila.