On Mon, Sep 15, 2025 at 8:11 PM suyu.cmj <mengjuan....@alibaba-inc.com> wrote:
>
>
> Additionally, while studying the InvalidatePossiblyObsoleteSlot(), I noticed 
> a behavioral difference between PG15 (and earlier) and PG16 (and later). In 
> PG15 and earlier, while attempting to acquire a slot, if the slot's 
> restart_lsn advanced to be greater than oldestLSN, the slot would not be 
> marked invalid. Starting in PG16, whether a slot is marked invalid is 
> determined solely based on initial_restart_lsn, even if the slot's 
> restart_lsn advances above oldestLSN while waiting, the slot will still be 
> marked invalid. The initial_restart_lsn is recorded to report the correct 
> invalidation cause (see discussion [2]), but why not decide whether to mark 
> the slot as invalid based on the slot's current restart_lsn? If a slot's 
> restart_lsn has already advanced sufficiently, shouldn't we refrain from 
> invalidating it?
>

I haven't tried to reproduce it but I see your point. I agree that if
this is happening then we should not invalidate such slots. This is a
different problem related to a different commit than what is fixd as
2090edc6f32f652a2c. I suggest you to either start a new thread for
this or report in the original thread where this change was made.

-- 
With Regards,
Amit Kapila.


Reply via email to