Hi,

On Wed, Dec 7, 2022 at 9:20 PM Peter Smith <smithpb2...@gmail.com> wrote:

> On Thu, Dec 8, 2022 at 10:49 AM samay sharma <smilingsa...@gmail.com>
> wrote:
> >
> ...
>
> > Thanks for the changes. See a few points of feedback below.
> >
>
> Patch v7 addresses this feedback. PSA.
>
> > > +    <para>
> > > +     For <emphasis>logical replication</emphasis>,
> <firstterm>publishers</firstterm>
> > > +     (servers that do <link
> linkend="sql-createpublication"><command>CREATE
> PUBLICATION</command></link>)
> > > +     replicate data to <firstterm>subscribers</firstterm>
> > > +     (servers that do <link
> linkend="sql-createsubscription"><command>CREATE
> SUBSCRIPTION</command></link>).
> > > +     Servers can also be publishers and subscribers at the same time.
> Note,
> > > +     the following sections refers to publishers as "senders". The
> parameter
> > > +     <literal>max_replication_slots</literal> has a different meaning
> for the
> > > +     publisher and subscriber, but all other parameters are relevant
> only to
> > > +     one side of the replication. For more details about logical
> replication
> > > +     configuration settings refer to
> > > +     <xref linkend="logical-replication-config"/>.
> > > +    </para>
> >
> > The second last line seems a bit odd here. In my last round of feedback,
> I had meant to add the line "The parameter .... " onwards to the top of
> logical-replication-config.sgml.
> >
> > What if we made the top of logical-replication-config.sgml like below?
> >
> > Logical replication requires several configuration options to be set.
> Most configuration options are relevant only on one side of the replication
> (i.e. publisher or subscriber). However, max_replication_slots is
> applicable on both sides but has different meanings on each side.
>
>
> OK. Moving this note is not quite following the same pattern as the
> "streaming replication" intro blurb, but anyway it looks fine when
> moved, so I've done as suggested.
>
>
> >> OK. I copied the tablesync note back to config.sgml definition of
> >> 'max_replication_slots' and removed the link as suggested. Frankly, I
> >> also thought it is a bit strange that the max_replication_slots in the
> >> “Sending Servers” section was describing this parameter for
> >> “Subscribers”. OTOH, I did not want to split the definition in half so
> >> instead, I’ve added another Subscriber <varlistentry> that just refers
> >> back to this place. It looks like an improvement to me.
> >
> >
> > Hmm, I agree this is a tricky scenario. However, to me, it seems odd to
> mention the parameter twice as this chapter of the docs just lists each
> parameter and describes them. So, I'd probably remove the reference to it
> in the subscriber section. We should describe it's usage in different
> places in the logical replication part of the docs (as we do).
>
> The 'max_replication_slots' is problematic because it is almost like
> having 2 different GUCs that happen to have the same name. So I
> preferred it also gets a mention in the “Subscriber” section to make
> it obvious that it wears 2 hats, but IIUC you prefer that 2nd mention
> is not present because typically each GUC should appear once only in
> this chapter. TBH, I think both ways could be successfully argued for
> or against -- so I’m just going to leave this as-is for now and let
> the committer decide.
>

Sounds fair.

I don't have any other feedback. This looks good to me.

Also, I don't see this patch in the 2023/01 commitfest. Might be worth
moving to that one.

Regards,
Samay
Microsoft


>
> > > +   <para>
> > > +    <link
> linkend="guc-max-logical-replication-workers"><varname>max_logical_replication_workers</varname></link>
> > > +    must be set to at least the number of subscriptions (for apply
> workers), plus
> > > +    some reserve for the table synchronization workers. Configuration
> parameter
> > > +    <link
> linkend="guc-max-worker-processes"><varname>max_worker_processes</varname></link>
> > > +    may need to be adjusted to accommodate for replication workers,
> at least (
> > > +    <link
> linkend="guc-max-logical-replication-workers"><varname>max_logical_replication_workers</varname></link>
> > > +    + <literal>1</literal>). Note, some extensions and parallel
> queries also
> > > +    take worker slots from <varname>max_worker_processes</varname>.
> > > +   </para>
> >
> > Maybe do max_worker_processes in a new line like the rest.
>
> OK. Done as suggested.
>
> ------
> Kind Regards,
> Peter Smith.
> Fujitsu Australia
>

Reply via email to