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.
using stale statistics instead of current ones because stats collector is not responding
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 StatisticsThis Message Is From an External SenderThis 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:
One possible cause for this problem is that the statistics collector process is bound to an IP:port which is not responding.See the following thread discussion.
Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more
Regards,
Adelino Silva
From: Nikhil Shetty <nikhil.dba04@xxxxxxxxx>
Sent: Wednesday, April 27, 2022 2:49 PM
To: Adelino Silva <adelino.silva@xxxxxxxxxx>
Cc: Pgsql-admin <pgsql-admin@xxxxxxxxxxxxxxxxxxxx>
Subject: [EXTERNAL] Re: Postgres Stale StatisticsThis Message Is From an External SenderThis message came from outside your organization.Hi Adelino,
I had gone through that thread before, we cannot move the stats to RAM as of now.
Thanks,Nikhil
On Wed, Apr 27, 2022 at 6:16 PM Adelino Silva <adelino.silva@xxxxxxxxxx> wrote:
Hi,
Found this thread that explains the warning.using stale statistics instead of current ones because stats collector is not responding
Hi, On Tue, 2016-03-08 at 16:18 -0800, Tory M Blue wrote: > No hits on the intratubes on this. > …
Regards,
Adelino Silva
From: Nikhil Shetty <nikhil.dba04@xxxxxxxxx>
Sent: Wednesday, April 27, 2022 12:08 PM
To: Pgsql-admin <pgsql-admin@xxxxxxxxxxxxxxxxxxxx>
Subject: [EXTERNAL] Postgres Stale StatisticsThis Message Is From an External SenderThis message came from outside your organization.Hi,
We are getting below WARNING on one of the standby instances. Not sure what caused it but to resolve it we tried restarting the database instances but it is still not working
WARNING - using stale statistics instead of current ones because stats collector is not responding
Postgresql version - 11.7
Any other option to resolve this? We are thinking of building the standby again but what if the WARNING is for a primary database instance and a restart won't solve it?
Thanks and Regards,
Nikhil