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

Blocking calls #162

Open
diocas opened this issue May 30, 2022 · 1 comment
Open

Blocking calls #162

diocas opened this issue May 30, 2022 · 1 comment
Labels
priority:high type:bug Something isn't working

Comments

@diocas
Copy link
Contributor

diocas commented May 30, 2022

I've observed that the call to retrieve the shares is blocking all the other calls to the backend, to the point JL freezes (and even shows an error). This makes the extensions completely unusable for me (and many others), since I have a lot of shares and the stats take a long time to finish (it takes ~1min to finish).

It also doesn't help that we're constantly retrieving the shares, even when not needed (check #161)

This syntom means that our API is not asynchronous and is blocking the main process. So we need to fix this ASAP (even if we remove the stats, this should be done).
I've done a very quick search and I believe there's an example on how to asynchronously call grpc: https://github.com/grpc/grpc/blob/master/examples/python/async_streaming/client.py

@diocas diocas added type:bug Something isn't working priority:high labels May 30, 2022
@dagl
Copy link
Contributor

dagl commented Jul 25, 2022

Steps required:

  • investigate grpc and async
  • implement a testing solution for jupyter backend to see how async improves responsiveness
    (a simple performance test with locust should be enough)
  • start implementing async in the server
    • convert 1 method to async as POC
    • convert the rest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:high type:bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants