Yep,  Maybe we should check for signals there.

On Wed, Sep 5, 2018 at 5:27 PM Thomas Munro <thomas.mu...@enterprisedb.com>
wrote:

> On Wed, Sep 5, 2018 at 8:23 AM Chris Travers <chris.trav...@adjust.com>
> 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

Reply via email to