Dear Vignesh, > Here is a version which includes back branch version patches with > pgindent changes. I have verified the following scenario in PG17, > PG16, PG15 and PG14 branches and works as expected with the patches:
FYI, I also confirmed that the invalidation has not happened anymore with given workload, for PG14+. Reserving a WAL record is protected by AllocationLock thus concurrent read by checkpointer cannot happen. ``` + if (XLogGetLastRemovedSegno() >= segno) + elog(ERROR, "WAL required by replication slot %s has been removed concurrently", + NameStr(slot->data.name)); ``` Slightly I feel that we may be able to add a HINT to make sure user can retry creating the slot. But making them similar with HEAD is more important the code change. Best regards, Hayato Kuroda FUJITSU LIMITED
