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

Reply via email to