On Fri, Jan 26, 2018 at 12:36 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: > On Fri, Jan 26, 2018 at 12:00 PM, Peter Geoghegan <p...@bowt.ie> wrote: >> On Thu, Jan 25, 2018 at 10:00 PM, Amit Kapila <amit.kapil...@gmail.com> >> wrote: >>>> At this point, my preferred solution is for someone to go implement >>>> Amit's WaitForParallelWorkersToAttach() idea [1] (Amit himself seems >>>> like the logical person for the job). >>>> >>> >>> I can implement it and share a prototype patch with you which you can >>> use to test parallel sort stuff. >> >> That would be great. Thank you. >> >>> I would like to highlight the >>> difference which you will see with WaitForParallelWorkersToAttach as >>> compare to WaitForParallelWorkersToFinish() is that the former will >>> give you how many of nworkers_launched workers are actually launched >>> whereas latter gives an error if any of the expected workers is not >>> launched. I feel former is good and your proposed way of calling it >>> after the leader is done with its work has alleviated the minor >>> disadvantage of this API which is that we need for workers to startup. >> >> I'm not sure that it makes much difference, though, since in the end >> WaitForParallelWorkersToFinish() is called anyway, much like >> nodeGather.c. Have I missed something? >> > > Nopes, you are right. I had in my mind that if we have something like > what I am proposing, then we don't even need to detect failures in > WaitForParallelWorkersToFinish and we can finish the work without > failing. > >> I had imagined that WaitForParallelWorkersToAttach() would give me an >> error in the style of WaitForParallelWorkersToFinish(), without >> actually waiting for the parallel workers to finish. >> > > I think that is also doable. I will give it a try and report back if > I see any problem with it. >
I have posted the patch for the above API and posted it on a new thread [1]. Do let me know either here or on that thread if the patch suffices your need? [1] - https://www.postgresql.org/message-id/CAA4eK1%2Be2MzyouF5bg%3DOtyhDSX%2B%3DAo%3D3htN%3DT-r_6s3gCtKFiw%40mail.gmail.com -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com