From: | Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> |
---|---|
To: | Magnus Hagander <magnus(at)hagander(dot)net>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> |
Subject: | Re: A new function to wait for the backend exit after termination |
Date: | 2020-10-28 11:50:46 |
Message-ID: | CALj2ACWcEcOMjFJjoRZ8P+c00K-x3dQ-O13TXvUWEFi_Y-FAHg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Oct 21, 2020 at 6:43 PM Magnus Hagander <magnus(at)hagander(dot)net> wrote:
>
> I think it would be nicer to have a pg_terminate_backend(pid, wait=false), so a function with a second parameter which defaults to the current behaviour of not waiting. And it might be a good idea to also give it a timeout parameter?
>
Done.
>
>> 2. pg_wait_backend() -- which waits for a given backend process. Note that this function has to be used carefully after pg_terminate_backend(), if used on a backend that's not ternmited it simply keeps waiting in a loop.
>
> It seems this one also very much would need a timeout value.
>
Done.
>
> And surely we should show some sort of wait event when it's waiting.
>
Added two wait events.
>
>> If the backend is terminated within the user specified timeout then
>> the function returns true, otherwise false.
>
> I’m suggesting an option for the second case to fail instead of returning false.
>
Done.
>
> > I could imagine, in theory at least, wanting to wait for a backend to go idle as well as for it disappearing. Scope creep in terms of this patch's goal but worth at least considering now.
>
> IIUC, do we need a new option, something like pg_wait_backend(pid,
> timeout, waituntil) where "waituntil" if specified "idle" waits until
> the given backend goes to idle mode, or "termination" waits until
> termination?
>
Done.
Attaching a v2 patch herewith.
Thoughts and feedback are welcome.
Below things are still pending, which I plan to work on soon:
1. More testing and addition of test cases into the regression test suite.
2. Addition of the new function information into the docs.
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
v2-0001-pg_wait_backend-and-pg_terminate_backend-with-wai.patch | application/x-patch | 14.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Sergei Kornilov | 2020-10-28 12:02:33 | Re: Allow some recovery parameters to be changed with reload |
Previous Message | Amul Sul | 2020-10-28 11:43:38 | Re: [Patch] ALTER SYSTEM READ ONLY |