Re: Force streaming every change in logical decoding

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, "sawada.mshk@gmail.com" <sawada.mshk@gmail.com>, "smithpb2250@gmail.com" <smithpb2250@gmail.com>, "dilipbalaut@gmail.com" <dilipbalaut@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2022-12-23T08:29:37Z
Lists: pgsql-hackers
On Fri, Dec 23, 2022 at 1:12 PM Hayato Kuroda (Fujitsu)
<kuroda.hayato@fujitsu.com> wrote:
>
> Dear hackers,
>
> > I will check and report the test coverage if I can.
>
> I ran make coverage. PSA the screen shot that shows results.
> According to the result the coverage seemed to be not changed
> even if the elapsed time was reduced.
>
> Only following lines at process_syncing_tables_for_apply() seemed to be not hit after patching,
> but I thought it was the timing issue because we do not modify around there.
>
> ```
>                                         /*
>                                          * Enter busy loop and wait for synchronization worker to
>                                          * reach expected state (or die trying).
>                                          */
>                                         if (!started_tx)
>                                         {
>                                                 StartTransactionCommand();
>                                                 started_tx = true;
>                                         }
> ```
>

This part of the code is related to synchronization between apply and
sync workers which depends upon timing. So, we can ignore this
difference.

-- 
With Regards,
Amit Kapila.



Commits

  1. Add 'logical_decoding_mode' GUC.

  2. Clean up some inconsistencies with GUC declarations