On Sat, Sep 14, 2019 at 01:06:32PM +0900, Tattsu Yama wrote: > Thanks! I can review your patch for fix it. > However, I was starting fixing the problem from the last day of PGConf.Asia > (11 Sep). > Attached file is WIP patch.In my patch, I added "command id" to all APIs of > progress reporting to isolate commands. Therefore, it doesn't allow to > cascade updating system views. And my patch is on WIP so it needs clean-up > and test. > I share it anyway. :)
+ if (cmdtype == PROGRESS_COMMAND_INVALID || beentry->st_progress_command == cmdtype) + { + PGSTAT_BEGIN_WRITE_ACTIVITY(beentry); + beentry->st_progress_param[index] = val; + PGSTAT_END_WRITE_ACTIVITY(beentry); + } You basically don't need the progress reports if the command ID is invalid, no? Another note is that you don't actually fix the problems related to the calls of pgstat_progress_end_command() which have been added for REINDEX reporting, so a progress report started for CLUSTER can get ended earlier than expected, preventing the follow-up progress updates to show up. -- Michael
signature.asc
Description: PGP signature