RE: Rework LogicalOutputPluginWriterUpdateProgress
От | wangw.fnst@fujitsu.com |
---|---|
Тема | RE: Rework LogicalOutputPluginWriterUpdateProgress |
Дата | |
Msg-id | OS3PR01MB62752132D42E8F94A72488E69EA79@OS3PR01MB6275.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Rework LogicalOutputPluginWriterUpdateProgress (Andres Freund <andres@anarazel.de>) |
Ответы |
RE: Rework LogicalOutputPluginWriterUpdateProgress
|
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: