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