On Fri, Sep 17, 2021 at 12:42 PM Peter Smith <smithpb2...@gmail.com> wrote: > > On Thu, Sep 16, 2021 at 10:59 AM houzj.f...@fujitsu.com > <houzj.f...@fujitsu.com> wrote: > > Hello Hous-san, thanks for including the steps. Unfortunately, no > matter what I tried, I could never get the patch to display the > problem "BEGIN 709" for the 2nd time execution of pg_recvlogical > > After discussion offline (thanks Greg!) it was found that the > pg_recvlogical step 2 posted above is not quite identical to what the > TAP 006 test is doing. > > Specifically, the TAP test also includes some other options (-o > include-xids=0 -o skip-empty-xacts=1) which are not in your step. > > If I include these options then I can reproduce the problem. > ----------------------------------------- > [postgres@CentOS7-x64 ~]$ pg_recvlogical -E '0/150B5E0' -d postgres > -S 'test_slot' --start --no-loop -o include-xids=0 -o > skip-empty-xacts=1 -f - > BEGIN > table public.decoding_test: INSERT: x[integer]:5 y[text]:'5' > ----------------------------------------- > > I don't know why these options should make any difference but they do. >
I think there is a possibility that skip-empty-xacts = 1 is making difference. Basically, if there is some empty transaction say via autovacuum, it would skip it and possibly send keep-alive message before sending transaction id 709. Then you won't see the problem with Hou-San's test. Can you try by keeping autovacuum = off and by not using skip-empty-xact option? -- With Regards, Amit Kapila.