On Thu, Jan 13, 2022 at 3:43 PM Fabrice Chapuis <fabrice636...@gmail.com> wrote: > > first phase: postgres read WAL files and generate 1420 snap files. > second phase: I guess, but on this point maybe you can clarify, postgres has > to decode the snap files and remove them if no statement must be applied on a > replicated table. > It is from this point that the worker process exit after 1 minute timeout. >
Okay, I think the problem could be that because we are skipping all the changes of transaction there is no communication sent to the subscriber and it eventually timed out. Actually, we try to send keep-alive at transaction boundaries like when we call pgoutput_commit_txn. The pgoutput_commit_txn will call OutputPluginWrite->WalSndWriteData. I think to tackle the problem we need to try to send such keepalives via WalSndUpdateProgress and invoke that in pgoutput_change when we skip sending the change. -- With Regards, Amit Kapila.