On Fri, Apr 9, 2021 at 5:51 AM Michael Paquier <mich...@paquier.xyz> wrote: > > On Thu, Apr 08, 2021 at 06:27:56PM +0530, Bharath Rupireddy wrote: > > Agree. Please see the attached patch, I removed a fixed waiting time. > > Instead of relying on pg_stat_activity, pg_sleep and > > pg_stat_clear_snapshot, now it depends on pg_terminate_backend and > > pg_wait_for_backend_termination. This way we could reduce the > > functions that the procedure terminate_backend_and_wait uses and also > > the new functions pg_terminate_backend and > > pg_wait_for_backend_termination gets a test coverage. > > + EXIT WHEN is_terminated; > + SELECT * INTO is_terminated FROM > pg_wait_for_backend_termination(pid_v, 1000); > This is still a regression if the termination takes more than 1s, > no? In such a case terminate_backend_and_wait() would issue a WARNING > and pollute the regression test output. I can see the point of what > you are achieving here, and that's a good idea, but from the point of > view of the buildfarm the WARNING introduced by aaf0432 is a no-go.
I didn't think of the warning cases, my bad. How about using SET client_min_messages = 'ERROR'; before we call pg_wait_for_backend_termination? We can only depend on the return value of pg_wait_for_backend_termination, when true we can exit. This way the buildfarm will not see warnings. Thoughts? With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com