On Mon, Jan 30, 2023 11:37 AM Shi, Yu/侍 雨 <shiy.f...@cn.fujitsu.com> wrote:
> On Sun, Jan 29, 2023 3:41 PM wangw.f...@fujitsu.com
> <wangw.f...@fujitsu.com> wrote:
> >
> > I tested a mix transaction of transactional and non-transactional messages 
> > on
> > the current HEAD and reproduced the timeout problem. I think this result is
> OK.
> > Because when decoding a transaction, non-transactional changes are
> processed
> > directly and the function WalSndKeepaliveIfNecessary is called, while
> > transactional changes are cached and processed after decoding. After
> decoding,
> > only transactional changes will be processed (in the function
> > ReorderBufferProcessTXN), so the timeout problem will still be reproduced.
> >
> > After applying the v8 patch, the test mentioned above didn't reproduce the
> > timeout problem (Attach this test script 'test_with_nontransactional.sh').
> >
> > Attach the new patch.
> >
> 
> Thanks for updating the patch. Here is a comment.

Thanks for your comment.

> In update_progress_txn_cb_wrapper(), it looks like we need to reset
> changes_count to 0 after calling OutputPluginUpdateProgress(), otherwise
> OutputPluginUpdateProgress() will always be called after 100 changes.

Yes, I think you are right.
Fixed this problem.

Attach the new patch.

Regards,
Wang Wei

Attachment: v9-0001-Fix-the-logical-replication-timeout-during-proces.patch
Description: v9-0001-Fix-the-logical-replication-timeout-during-proces.patch

Reply via email to