Hi Nikhil,
About the EAGAIN (Resource temporarily unavailable).
UDP is a stateless protocol, unlike TCP which is connection oriented. The recvfrom() code will not know whether or not the sender has closed its socket, it only knows whether or not there is data waiting to be read. According to the man page for recvfrom
on Linux:
If no messages are available at the socket, the receive calls wait for a message to arrive, unless the socket is nonblocking (see fcntl(2)) in which case the value -1 is returned and the external variable errno
set to EAGAIN.
may you need to explore other option like disk saturation.
Regards,
Adelino Silva
From: Nikhil Shetty <nikhil.dba04@xxxxxxxxx>
Sent: Wednesday, April 27, 2022 4:36 PM To: Adelino Silva <adelino.silva@xxxxxxxxxx> Cc: Pgsql-admin <pgsql-admin@xxxxxxxxxxxxxxxxxxxx> Subject: [EXTERNAL] Re: Postgres Stale Statistics
This Message Is From an External Sender
This message came from outside your organization.
Hi Adelino,
I went through the article and I see there is no issue with IPv6 in our case, it is using IPv4.
I used strace and found 'Resource temporarily unavailable' error though, not sure what this means, does this mean there is an issue with disk I/O?
strace: Process 5134 attached epoll_wait(3, [{EPOLLIN, {u32=31860224, u64=31860224}}], 1, -1) = 1 close(3) = 0 recvfrom(10, "\2\0\0\0\230\0\0\0\7@\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000, 0, NULL, NULL) = 152 recvfrom(10, 0x7ffeeb967fa0, 1000, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) epoll_create1(EPOLL_CLOEXEC) = 3 epoll_ctl(3, EPOLL_CTL_ADD, 11, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860176, u64=31860176}}) = 0 epoll_ctl(3, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860200, u64=31860200}}) = 0 epoll_ctl(3, EPOLL_CTL_ADD, 10, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860224, u64=31860224}}) = 0 epoll_wait(3, [{EPOLLIN, {u32=31860224, u64=31860224}}], 1, -1) = 1 close(3) = 0 recvfrom(10, "\2\0\0\0\250\3\0\0\7@\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000, 0, NULL, NULL) = 936 recvfrom(10, "\2\0\0\0\250\3\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000, 0, NULL, NULL) = 936 recvfrom(10, "\2\0\0\0x\1\0\0\7@\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000, 0, NULL, NULL) = 376 recvfrom(10, 0x7ffeeb967fa0, 1000, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) epoll_create1(EPOLL_CLOEXEC) = 3 epoll_ctl(3, EPOLL_CTL_ADD, 11, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860176, u64=31860176}}) = 0 epoll_ctl(3, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860200, u64=31860200}}) = 0 epoll_ctl(3, EPOLL_CTL_ADD, 10, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31860224, u64=31860224}}) = 0 epoll_wait(3, [{EPOLLIN, {u32=31860224, u64=31860224}}], 1, -1) = 1 close(3)
Regards, Nikhil On Wed, Apr 27, 2022 at 8:25 PM Adelino Silva <adelino.silva@xxxxxxxxxx> wrote:
|