Will submit a patch here shortly. Thanks! Should we do for master and 10? Or 9.6 too?
On Wed, Sep 5, 2018 at 6:40 PM Chris Travers <[email protected]> wrote: > Yep, Maybe we should check for signals there. > > On Wed, Sep 5, 2018 at 5:27 PM Thomas Munro <[email protected]> > wrote: > >> On Wed, Sep 5, 2018 at 8:23 AM Chris Travers <[email protected]> >> wrote: >> > 1. The query is in a parallel index scan or similar >> > 2. A process is executing a parallel plan and allocating a significant >> chunk of memory (2MB for example) in dynamic shared memory. >> > 3. The startup process goes into a loop where it sends a sigusr1, >> sleeps 5m, and sends another sigusr1 etc. >> > 4. The sigusr1 aborts the system call, which is then retried. >> > 5. Because the system call takes more than 5ms, we end up in an >> endless loop >> >> Do you mean this loop in dsm_impl_posix_resize() is getting >> interrupted constantly and never completing? >> >> /* We may get interrupted, if so just retry. */ >> do >> { >> rc = posix_fallocate(fd, 0, size); >> } while (rc == EINTR); >> >> -- >> Thomas Munro >> http://www.enterprisedb.com >> > > > -- > Best Regards, > Chris Travers > Head of Database > > Tel: +49 162 9037 210 | Skype: einhverfr | www.adjust.com > Saarbrücker Straße 37a, 10405 Berlin > > -- Best Regards, Chris Travers Head of Database Tel: +49 162 9037 210 | Skype: einhverfr | www.adjust.com Saarbrücker Straße 37a, 10405 Berlin
