On Wed, Oct 18, 2023 at 7:31 AM Peter Smith <smithpb2...@gmail.com> wrote: > > ====== > src/bin/pg_upgrade/check.c > > 0. > +check_old_cluster_for_valid_slots(bool live_check) > +{ > + char output_path[MAXPGPATH]; > + FILE *script = NULL; > + > + prep_status("Checking for valid logical replication slots"); > + > + snprintf(output_path, sizeof(output_path), "%s/%s", > + log_opts.basedir, > + "invalid_logical_relication_slots.txt"); > > 0a > typo /invalid_logical_relication_slots/invalid_logical_replication_slots/ > > ~ > > 0b. > Since the non-upgradable slots are not strictly "invalid", is this an > appropriate filename for the bad ones? > > But I don't have very good alternatives. Maybe: > - non_upgradable_logical_replication_slots.txt > - problem_logical_replication_slots.txt >
I prefer the current naming. I think 'invalid' here indicates both types of slots that are invalidated by the checkpointer and those that have pending WAL to be consumed. > ====== > src/bin/pg_upgrade/t/003_upgrade_logical_replication_slots.pl > > 1. > +# ------------------------------ > +# TEST: Confirm pg_upgrade fails when wrong GUC is set on new cluster > +# > +# There are two requirements for GUCs - wal_level and max_replication_slots, > +# but only max_replication_slots will be tested here. This is because to > +# reduce the execution time of the test. > > > SUGGESTION > # TEST: Confirm pg_upgrade fails when the new cluster has wrong GUC values. > # > # Two GUCs are required - 'wal_level' and 'max_replication_slots' - but to > # reduce the test execution time, only 'max_replication_slots' is tested here. > I think we don't need the second part of the comment: "Two GUCs ...". Ideally, we should test each parameter's invalid value but that could be costly, so I think it is okay to test a few of them. -- With Regards, Amit Kapila.