On Fri, Feb 23, 2024 at 10:06 AM Zhijie Hou (Fujitsu) <houzj.f...@fujitsu.com> wrote: > > > I noticed one CFbot failure[1] which is because the tap-test doesn't wait for > the > standby to catch up before promoting, thus the data inserted after promotion > could not be replicated to the subscriber. Add a wait_for_replay_catchup to > fix it. > > Apart from this, I also adjusted some variable names in the tap-test to be > consistent. And added back a mis-removed ProcessConfigFile call. > > [1] https://cirrus-ci.com/task/6126787437002752?logs=check_world#L312 >
Thanks for the patches. Had a quick look at v95_2, here are some trivial comments: slot.h: ----- 1) extern List *GetStandbySlotList(bool copy); extern void WaitForStandbyConfirmation(XLogRecPtr wait_for_lsn); extern void FilterStandbySlots(XLogRecPtr wait_for_lsn, List **standby_slots); The order is different from the one in slot.c slot.c: ----- 2) warningfmt = _("replication slot \"%s\" specified in parameter \"%s\" does not exist, ignoring"); GUC names should not have double quotes. Same in each warningfmt in this function 3) errmsg("replication slot \"%s\" specified in parameter \"%s\" does not have active_pid", Same here, double quotes around standby_slot_names should be removed walsender.c: ------ 4) * Used by logical decoding SQL functions that acquired slot with failover * enabled. To be consistent with other such comments in previous patches: slot with failover enabled --> failover enabled slot 5) Wake up the logical walsender processes with failover-enabled slots failover-enabled slots --> failover enabled slots postgresql.conf.sample: ---------- 6) streaming replication standby server slot names that logical walsender processes will wait for Is it better to say it like this? (I leave this to your preference) streaming replication standby server slot names for which logical walsender processes will wait. thanks Shveta