On Wed, Oct 25, 2017 at 5:44 AM, Ashesh Vashi <ashesh.va...@enterprisedb.com > wrote:
> On Tue, Oct 24, 2017 at 8:59 PM, Rob Emery <re-pg...@codeweavers.net> > wrote: > >> Awesome thanks. >> >> What's the release schedule like for pgagent? >> > I have no idea. > That can be answered by Dave only. > > Dave? > Basically as soon as Neel's work is complete and we can update the packaging etc. and get it tested by Fahar. > > -- > > Thanks & Regards, > > Ashesh Vashi > EnterpriseDB INDIA: Enterprise PostgreSQL Company > <http://www.enterprisedb.com/> > > > *http://www.linkedin.com/in/asheshvashi* > <http://www.linkedin.com/in/asheshvashi> > > >> >> Thanks, >> Rob >> >> >> >> On 24 October 2017 at 16:05, Ashesh Vashi <ashesh.va...@enterprisedb.com> >> wrote: >> >>> On Tue, Oct 24, 2017 at 8:30 PM, Ashesh Vashi < >>> ashesh.va...@enterprisedb.com> wrote: >>> >>>> On Tue, Oct 24, 2017 at 8:21 PM, Robert Emery < >>>> robertem...@codeweavers.net> wrote: >>>> >>>>> Hello again, >>>>> >>>>> I can't see any other way of solving this problem without either >>>>> exposing a method on JobThread to delete the Job owned by the thread which >>>>> is called by https://github.com/postgres/pg >>>>> agent/blob/master/pgAgent.cpp#L139 or another method that only gives >>>>> up the connection which is called in the same place as the delete jt. >>>>> >>>>> Is there a problem with chaining the ~JobThread() and ~Job() together >>>>> as I suggested previously? This does solve the leak. >>>>> >>>> Nothing wrong in it. >>>> My intention was to release the object asap. >>>> >>>> As per your findings, it won't go in that execution flow in all cases. >>>> I will commit your patch. >>>> >>> Committed your original patch. >>> >>> -- >>> >>> Thanks & Regards, >>> >>> Ashesh Vashi >>> EnterpriseDB INDIA: Enterprise PostgreSQL Company >>> <http://www.enterprisedb.com/> >>> >>> >>> *http://www.linkedin.com/in/asheshvashi* >>> <http://www.linkedin.com/in/asheshvashi> >>> >>>> >>>> -- Thanks, Ashesh >>>> >>>>> >>>>> Many Thanks, >>>>> Rob >>>>> >>>>> On 23 October 2017 at 20:09, Rob Emery <re-pg...@codeweavers.net> >>>>> wrote: >>>>> >>>>>> Hiya, >>>>>> >>>>>> I've just confirmed neither of these patches resolve the issue, it >>>>>> appears in the error case I'm experiencing the JobThread::Entry() never >>>>>> executes. >>>>>> >>>>>> To clarify I'm talking about the path entering the else in >>>>>> pgAgent.cpp:125 which will save into pga_joblog with jlgstatus = "i" >>>>>> >>>>>> This path explicitly deletes jt however deleting jt doesn't clean up >>>>>> the connection, hence why I cascaded the delete in the original patch. >>>>>> >>>>>> I hope that makes sense >>>>>> >>>>>> Thanks, >>>>>> Rob >>>>>> >>>>>> On 23 October 2017 at 08:18, Neel Patel <neel.pa...@enterprisedb.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Ashesh, >>>>>>> >>>>>>> I just added condition before delete the job otherwise it looks >>>>>>> good. Correct me if I am wrong. >>>>>>> >>>>>>> if (job != NULL) >>>>>>> { >>>>>>> delete job; >>>>>>> job = NULL; >>>>>>> } >>>>>>> >>>>>>> I have created two instances of pgagent on database cluster. As of >>>>>>> now not able to see any leak and keep you updated if found anything. >>>>>>> >>>>>>> @Robert - Can you also test at your environment and keep us updated >>>>>>> for any leak ? >>>>>>> >>>>>>> Thanks, >>>>>>> Neel Patel >>>>>>> >>>>>>> On Mon, Oct 23, 2017 at 10:30 AM, Ashesh Vashi < >>>>>>> ashesh.va...@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Rob, >>>>>>>> >>>>>>>> How about this? >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> Thanks & Regards, >>>>>>>> >>>>>>>> Ashesh Vashi >>>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company >>>>>>>> <http://www.enterprisedb.com> >>>>>>>> >>>>>>>> >>>>>>>> *http://www.linkedin.com/in/asheshvashi* >>>>>>>> <http://www.linkedin.com/in/asheshvashi> >>>>>>>> >>>>>>>> On Sat, Oct 21, 2017 at 8:36 PM, Rob Emery < >>>>>>>> re-pg...@codeweavers.net> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Following on from https://www.postgresql.org/mes >>>>>>>>> sage-id/CA%2BOCxoz4tONxSpd1rdU-9SPKRzucz8Bar2CXkEDnCwV6H77Zy >>>>>>>>> A%40mail.gmail.com >>>>>>>>> >>>>>>>>> I think I've identified and fixed the issue, please see the patch >>>>>>>>> attached. >>>>>>>>> >>>>>>>>> As I understand it when there are multiple pgagent instances and >>>>>>>>> they clash executing a job (i.e rc != 1 on job.cpp:38), the loser of >>>>>>>>> the >>>>>>>>> conflict's thread will never be executed (i.e. job.cpp:418 >>>>>>>>> JobThread::Entry), which is responsible for deleting the job owned by >>>>>>>>> the >>>>>>>>> thread, meaning that the connection is never returned to the pool. By >>>>>>>>> moving the delete of the job into the destructor, we can assure that >>>>>>>>> the >>>>>>>>> connection is tidied up in both cases as the thread is deleted in the >>>>>>>>> error >>>>>>>>> case explicitly in pgAgent.cpp:185. >>>>>>>>> >>>>>>>>> The only possibly unintended difference that I can see with doing >>>>>>>>> this is that the log "Completed job: %s" is now output when before it >>>>>>>>> wasn't, however I think this new behaviour is actually correct as the >>>>>>>>> job >>>>>>>>> object is completed at that time. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Rob >>>>>>>>> >>>>>>>>> <https://codeweavers.net> >>>>>>>>> >>>>>>>>> >>>>>>>>> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >>>>>>>>> Codeweavers >>>>>>>>> October >>>>>>>>> Newsletter >>>>>>>>> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >>>>>>>>> *l *Auto Trader extends partnership with Codeweavers >>>>>>>>> <https://codeweavers.net/company-blog/auto-trader-extends-partnership-with-codeweavers-to-power-finance-on-auto-trader-websites> >>>>>>>>> >>>>>>>>> >>>>>>>>> <https://codeweavers.net/automotive-vision-conference-agenda> >>>>>>>>> >>>>>>>>> *What are Codeweavers doing to gear up for GDPR? >>>>>>>>> <https://codeweavers.net/company-blog/what-are-codeweavers-doing-to-gear-up-for-gdpr>* >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Phone:* 0800 021 0888 * Email: *contac...@codeweavers.net >>>>>>>>> *Codeweavers Ltd* | Barn 4 | Dunston Business Village | Dunston | >>>>>>>>> ST18 9AB >>>>>>>>> Registered in England and Wales No. 04092394 | VAT registration >>>>>>>>> no. 974 9705 63 >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Robert Emery >>>>>>>>> Infrastructure Director >>>>>>>>> >>>>>>>>> E: robertem...@codeweavers.net | T: 01785 711633 | W: >>>>>>>>> www.codeweavers.net >>>>>>>>> >>>>>>>> >>>>> >>>>> >>>>> -- >>>>> Robert Emery >>>>> Infrastructure Director >>>>> >>>>> E: robertem...@codeweavers.net | T: 01785 711633 | W: >>>>> www.codeweavers.net >>>>> >>>>> <https://codeweavers.net> >>>>> >>>>> >>>>> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >>>>> Codeweavers >>>>> October >>>>> Newsletter >>>>> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >>>>> *l *Auto Trader extends partnership with Codeweavers >>>>> <https://codeweavers.net/company-blog/auto-trader-extends-partnership-with-codeweavers-to-power-finance-on-auto-trader-websites> >>>>> >>>>> >>>>> <https://codeweavers.net/automotive-vision-conference-agenda> >>>>> >>>>> *What are Codeweavers doing to gear up for GDPR? >>>>> <https://codeweavers.net/company-blog/what-are-codeweavers-doing-to-gear-up-for-gdpr>* >>>>> >>>>> >>>>> >>>>> *Phone:* 0800 021 0888 * Email: *contac...@codeweavers.net >>>>> *Codeweavers Ltd* | Barn 4 | Dunston Business Village | Dunston | >>>>> ST18 9AB >>>>> Registered in England and Wales No. 04092394 | VAT registration no. >>>>> 974 9705 63 >>>>> >>>>> -- >>>>> Robert Emery >>>>> Infrastructure Director >>>>> >>>>> E: robertem...@codeweavers.net | T: 01785 711633 | W: >>>>> www.codeweavers.net >>>>> >>>> >> <https://codeweavers.net> >> >> >> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >> Codeweavers >> October >> Newsletter >> <http://us15.campaign-archive1.com/?u=fcb361cfa194cf70551bc5169&id=f556b0bf09> >> *l *Auto Trader extends partnership with Codeweavers >> <https://codeweavers.net/company-blog/auto-trader-extends-partnership-with-codeweavers-to-power-finance-on-auto-trader-websites> >> >> >> <https://codeweavers.net/automotive-vision-conference-agenda> >> >> *What are Codeweavers doing to gear up for GDPR? >> <https://codeweavers.net/company-blog/what-are-codeweavers-doing-to-gear-up-for-gdpr>* >> >> >> >> *Phone:* 0800 021 0888 * Email: *contac...@codeweavers.net >> *Codeweavers Ltd* | Barn 4 | Dunston Business Village | Dunston | ST18 >> 9AB >> Registered in England and Wales No. 04092394 | VAT registration no. 974 >> 9705 63 >> >> <https://www.linkedin.com/company/codeweavers-limited> >> <https://vimeo.com/codeweaversltd> [image: >> https://plus.google.com/b/105942302039373248738/+CodeweaversNet] >> <https://plus.google.com/b/105942302039373248738/+CodeweaversNet> [image: >> https://twitter.com/CodeweaversTeam] >> <https://twitter.com/CodeweaversTeam> >> > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company