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
v9-0001-Fix-the-logical-replication-timeout-during-proces.patch
Description: v9-0001-Fix-the-logical-replication-timeout-during-proces.patch