-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Broker fails to close used connections and they remain in CLOSE_WAIT #2166
Comments
Similar problem described in SOF: |
I understand that the problem has been discoverd in Orion 0.26.1. Reviewing the changelog from Orion 0.26.1 to Orion 1.1 (the current one) note the following in Orion 0.28.0 release notes:
If the problem cause points to libmicrohttpd, it should be reviewed if 0.9.48 has solved it. |
Finally, it seems an expected behavior if the limit of file descriptors for the process is not high enough. With notification mode set as The total limit of fds should include the number of simultaneous incoming request in MHD, plus an amount for logs, listening sockets and file descriptors used by libraries Or the number of threads in the pool can be lowered consequently As Fermin has noted, the number of connections to mongoDB held by the driver should be included in the count |
After analyzing this, it seem it isn't a problem in the code, but something that need to be documented. Thus, removing "bug" label and adding "doc" label. |
Doc modifications in PR #2214 |
It's happening... |
Recovering this issue for the 1.7.0 milestone. |
After researching on this, CLOSE_WAIT are not the root of the problem: the root of the problem is fd exahustion when select() was used in MHD (which is the scope of issue #2724). However, documentation should be improved to explain this better so this issue will remain opened. |
Documentation completed in PR #2755. Closing. |
It seems, as discovered by a client, that the broker sometimes leaves used connections without closing them, causing all fds to be used and consequently the broker stops working.
The broker uses libmicrohttpd (MHD) to respond to requests and libcurl for notifications and forwarding of messages and it seems libcurl might be responsible for the detected problem.
The text was updated successfully, but these errors were encountered: