The only change we made on the disk, is the encryption at OS level. Not sure this can be something related.
Il giorno mar 7 apr 2020 alle ore 10:58 Nicola Contu <nicola.co...@gmail.com> ha scritto: > So that seems to be a bug, correct? > Just to confirm, I am not using NFS, it is directly on disk. > > Other than that, is there a particular option we can set in the > postgres.conf to mitigate the issue? > > Thanks a lot for your help. > > > Il giorno sab 4 apr 2020 alle ore 02:49 Thomas Munro < > thomas.mu...@gmail.com> ha scritto: > >> On Thu, Apr 2, 2020 at 9:25 PM Kyotaro Horiguchi >> <horikyota....@gmail.com> wrote: >> > I provided the subject, and added -hackers. >> > >> > > Hello, >> > > I am running postgres 11.5 and we were having issues with shared >> segments. >> > > So I increased the max_connection as suggested by you guys and >> reduced my >> > > work_mem to 600M. >> > > >> > > Right now instead, it is the second time I see this error : >> > > >> > > ERROR: could not resize shared memory segment >> "/PostgreSQL.2137675995" to >> > > 33624064 bytes: Interrupted system call >> > >> > The function posix_fallocate is protected against EINTR. >> > >> > | do >> > | { >> > | rc = posix_fallocate(fd, 0, size); >> > | } while (rc == EINTR && !(ProcDiePending || QueryCancelPending)); >> > >> > But not for ftruncate and write. Don't we need to protect them from >> > ENTRI as the attached? >> >> We don't handle EINTR for write() generally because that's not >> supposed to be necessary on local files (local disks are not "slow >> devices", and we document that if you're using something like NFS you >> should use its "hard" mount option so that it behaves that way too). >> As for ftruncate(), you'd think it'd be similar, and I can't think of >> a more local filesystem than tmpfs (where POSIX shmem lives on Linux), >> but I can't seem to figure that out from reading man pages; maybe I'm >> reading the wrong ones. Perhaps in low memory situations, an I/O wait >> path reached by ftruncate() can return EINTR here rather than entering >> D state (non-interruptable sleep) or restarting due to our SA_RESTART >> flag... anyone know? >> >> Another thought: is there some way for the posix_fallocate() retry >> loop to exit because (ProcDiePending || QueryCancelPending), but then >> for CHECK_FOR_INTERRUPTS() to do nothing, so that we fall through to >> reporting the EINTR? >> >