On Fri, Jul 10, 2020 at 3:37 PM Dilip Kumar <[email protected]> wrote: > > On Sat, Jul 4, 2020 at 11:35 AM Amit Kapila <[email protected]> wrote: > > > > > > 8. We can't stream the transaction before we reach the > > SNAPBUILD_CONSISTENT state because some other output plugin can apply > > those changes unlike what we do with pgoutput plugin (which writes to > > file). And, I think applying the transactions without reaching a > > consistent state would be anyway wrong. So, we should avoid that and > > if do that then we should have an Assert for streamed txns rather than > > sending abort for them in ReorderBufferForget. > > I was analyzing this point so currently, we only enable streaming in > StartReplicationSlot so basically in CreateReplicationSlot the > streaming will be always off because by that time plugins are not yet > startup that will happen only on StartReplicationSlot. >
What do you mean by 'startup' in the above sentence? AFAICS, we do call startup_cb_wrapper in CreateInitDecodingContext which is called from both CreateReplicationSlot and create_logical_replication_slot before the start of decoding. In CreateInitDecodingContext, we call StartupDecodingContext which should load the plugin. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
