Hi,

On Wed, Aug 12, 2026 at 05:00:00PM -0700, Bharath Rupireddy wrote:
> I believe this can happen in practice (as explained above). IMHO, XID
> age based slot invalidation must invalidate the synced slot on the
> standby

Yeah, I agree. Keeping the exemption for idle_replication_slot_timeout but
removing it from CanInvalidateXidAgedSlot() makes sense to me.

One nuance about 3/ though: the synced slot is current in that case and the
stale catalog_xmin is stored on the primary's physical slot. Therefore, the 
check
for aged synced slots would not address this case: the synced slot is not aged,
so it would not be invalidated. 

Worth adding a test with an actual synced slot, including checking that its
invalidation releases the feedback horizon on the primary?

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com


Reply via email to