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