Skip to content
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

Default IPC proxy timeout is too small in facade.py #45

Closed
andrewbonney opened this issue Jul 24, 2018 · 1 comment
Closed

Default IPC proxy timeout is too small in facade.py #45

andrewbonney opened this issue Jul 24, 2018 · 1 comment

Comments

@andrewbonney
Copy link
Contributor

This is likely to be a compound issue. When using facade.py to register many thousands of resources with the Node API, the process slows down. When this happens the default IPC Proxy timeout of 100ms is regularly breached. Upon timeout a new connection is made and the old one never appears to be closed (causing a file descriptor leak). There are likely to be a number of small changes required to account for this:

  • Increasing the default Proxy timeout (to a second for example) to work around the slowdown in the Node API
  • Ideally improve performance within the Node API, as it becomes unworkably slow beyond around 2000 resources, and breaches the timeout of 1 second at around 4000 resources
  • Ensure that when timeouts do occur, the Proxy connections are properly closed, and the caller handles the error condition correctly (it will likely be out of sync with the Node API as a result)

At present the interface is limited to around 1200 resources before it starts to cause errors on my test host.

andrewbonney added a commit that referenced this issue Aug 1, 2018
ipc: address potential for leaking FDs identified in #45
@andrewbonney
Copy link
Contributor Author

Traced the Node API issue which was down to the registration process listing all resources of that type every time a new one was registered... oops!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant