On Thur, Feb 14, 2023 at 2:03 AM Andres Freund <andres@anarazel.de> wrote:
> On 2023-02-13 14:06:57 +0530, Amit Kapila wrote:
> > > > The patch calls update_progress in change_cb_wrapper and other
> > > > wrappers which will miss the case of DDLs that generates a lot of data
> > > > that is not processed by the plugin. I think for that we either need
> > > > to call update_progress from reorderbuffer.c similar to what the patch
> > > > has removed or we need some other way to address it. Do you have any
> > > > better idea?
> > >
> > > I don't mind calling something like update_progress() in the specific cases
> > > that's needed, but I think those are just the
> > > if (!RelationIsLogicallyLogged(relation))
> > > if (relation->rd_rel->relrewrite && !rb->output_rewrites))
> > >
> > > To me it makes a lot more sense to call update_progress() for those, rather
> > > than generally.
> > >
> >
> > Won't it be better to call it wherever we don't invoke any wrapper
> > function like for cases REORDER_BUFFER_CHANGE_INVALIDATION, sequence
> > changes, etc.? I was thinking that wherever we don't call the wrapper
> > function which means we don't have a chance to invoke
> > update_progress(), the timeout can happen if there are a lot of such
> > messages.
>
> ISTM that the likelihood of causing harm due to increased overhead is higher
> than the gain.
I would like to do something for this thread. So, I am planning to update the
patch as per discussion in the email chain unless someone is already working on
it.
Regards,
Wang wei