-
Notifications
You must be signed in to change notification settings - Fork 323
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
IDE timeouts when trying to connect with the cloud #5627
Comments
@sylwiabr can't reproduce the issues on my machine with Chrome
|
It happens when I have a weaker internet connection |
@sylwiabr do you see any errors in console after expanding the log groups? Sometimes errors are hidden there |
I was actually able to reproduce it and did an investigation. ProblemThe problem is twofold: first, the first connection to Language Server runs some initialization, and the Here is the log where the GUI connects and sends engine-log-connected-10-37-50.txt When the time since running the machine is small (I think < 1 minute), the machine seems to be still a bit loaded, extending the time of the initialization hitting our timeout. Here is the log when I opened GUI 30 seconds since the machine was reported as "running" (10:10:33) and got the timeout. The Language Server seem to be ready after 14 seconds. engine-log-connected-10-10-33.txt The second problem is that I was able to open the GUI even before Language Server was ready to listen for connections. Here, the GUI tried to connect at 10:43:37: a message about server start is printed 10 seconds later. engine-log-connected-10-43-37.txt SolutionsThe easiest fix is just to increase timeouts. This will not fix the second problem, however; we would need also connection or initialization retries on the IDE side (still easy, but not trivial). It's not a satisfying solution for me, because this makes bad UX of two-staged initialization: user runs the machine, needs to wait for it, then we require their intervention (clicking "start" button) only to force them to wait again for Language Server initialization. The proper solution in my opinion is:
@sylwiabr @PabloBuchu please share your thoughts, also @JaroslavTulach as we touch the Language Server initialization. |
Adam Obuchowicz reports a new STANDUP for today (2023-03-01): Progress: Created an investigation report, discussed briefly with Paweł. It should be finished by 2023-03-06. Next Day: Next day I will be working on the same task. increase the timeout for cloud environment, and see how it is hard to make simple retry reconnecting to the language server. |
Adam Obuchowicz reports a new STANDUP for today (2023-03-02): Progress: Implemented retries - despite my fears it turned out to be a breeze. It should be finished by 2023-03-06. Next Day: Next day I will be working on the same task. A little Cleanup and PR |
After brief discussion we agreed that cloud should also investigate the problem with to early reporting project to be ready to open. Task for debugging and fixing https://github.com/enso-org/cloud-v2/issues/351 |
This mainly fixes #5627 in both scenarios: when the initProtocol method takes too long time and also when we run GUI before LS listens for new connections. If the IDE initialization fails (e.g. due to above two reasons), it is retried 3 times, waiting some time.
Discord username
No response
What type of issue is this?
Permanent – Ocurring repeatably
Is this issue blocking you from using Enso?
Is this a regression?
What issue are you facing?
When opening Enso Cloud IDE timeouts on the first opening
Expected behaviour
Project is opened
How we can reproduce it?
Screenshots or screencasts
Enso Version
2023.1.1-nightly.2023.2.9
Browser or standalone distribution
Chrome
Browser Version or standalone distribution
Version 109.0.5414.119 (Official Build) (x86_64)
Operating System
MacOS
Operating System Version
No response
Hardware you are using
No response
The text was updated successfully, but these errors were encountered: