Bug 1637778
| Summary: | OSP 14 | procevent collectd plugin for Service Assurance fails to load due to "no buffer space available" | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Leonid Natapov <lnatapov> |
| Component: | collectd | Assignee: | Matthias Runge <mrunge> |
| Status: | CLOSED NOTABUG | QA Contact: | Leonid Natapov <lnatapov> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 14.0 (Rocky) | CC: | aasmith, abays, apannu, jbadiapa, lars, mmagr, mrunge, pkilambi, rmccabe |
| Target Milestone: | Upstream M3 | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-02-18 15:57:25 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1581469 | ||
|
Description
Leonid Natapov
2018-10-10 05:12:43 UTC
Yesterday I thought this might be due to a difference in netlink headers between the kernel's libraries and the user space libraries, but that doesn't seem plausible now after doing some research. I found this enlightening comment on a Linux netlink forum where someone was experiencing a similar problem: "I also don't think it is actually related to the size of the buffer used in the recvfrom() call, because if that's too small it should not result in an error, the message would just get truncated. Perhaps the socket buffer is running full before the thread can read and process messages." I noticed that the Collectd configuration in this scenario had an Interval value of 1. If the system was exceptionally busy in terms of process activity (forking, exiting, starting and everything else netlink reports for processes), then it is possible that the socket buffer was completely filled before the plugin's read thread could get around to reading the messages. In that case, an errno 105 "no buffer space available" would occur when the thread tried to allocate a buffer on the socket. All this being said, it would be interesting to try setting the Collect Interval to something much smaller, such as "0.005" (5 ms). In the meantime, I will try to induce heavy process activity in my local environment and see if I can reproduce the error with a higher Collectd Interval. Based on #c6, I'm going to close this. |