On Sat, Oct 5, 2019 at 8:22 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Fri, Oct 4, 2019 at 7:57 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: >> >> On Fri, Oct 4, 2019 at 2:31 PM Amit Kapila <amit.kapil...@gmail.com> wrote: >> >> >> > >> > Do we really need to log all those messages? The other places where we >> > launch parallel workers doesn't seem to be using such messages. Why do >> > you think it is important to log the messages here when other cases don't >> > use it? >> >> Well I would rather think that parallel create index doesn't log >> enough messages. Parallel maintenance operation is invoked manually by >> user. I can imagine that DBA wants to cancel and try the operation >> again later if enough workers are not launched. But there is not a >> convenient way to confirm how many parallel workers planned and >> actually launched. We need to see ps command or pg_stat_activity. >> That's why I think that log message would be helpful for users. > > > Hmm, what is a guarantee at a later time the user will get the required > number of workers? I think if the user decides to vacuum, then she would > want it to start sooner. Also, to cancel the vacuum, for this reason, the > user needs to monitor logs which don't seem to be an easy thing considering > this information will be logged at DEBUG2 level. I think it is better to add > in docs that we don't guarantee that the number of workers the user has asked > or expected to use for a parallel vacuum will be available during execution. > Even if there is a compelling reason (which I don't see) to log this > information, I think we shouldn't use more than one message to log (like > there is no need for a separate message for cleanup and vacuuming) this > information. >
I think that there is use case where user wants to cancel a long-running analytic query using parallel workers to use parallel workers for parallel vacuum instead. That way the lazy vacuum will eventually complete soon. Or user would want to see the vacuum log to check if lazy vacuum has been done with how many parallel workers for diagnostic when the vacuum took a long time. This log information appears when VERBOSE option is specified. When executing VACUUM command it's quite common to specify VERBOSE option to see the vacuum execution more details and VACUUM VERBOSE already emits very detailed information such as how many frozen pages are skipped and OldestXmin. So I think this information would not be too odd for that. Are you concerned that this information takes many lines of code? or it's not worth to be logged? I agreed to add in docs that we don't guarantee that the number of workers user requested will be available. -- Regards, -- Masahiko Sawada