enso/engine/language-server/src
Hubert Plociniczak 16c8d2e302
Remove context locks from visualization commands (#7953)
It looks like visualization commands had required context lock unnecessairly. Context manager methods are synchronized and therefore should not need the lock before submitting a correspodning background job.

Additionally, the presence of a context lock leads a deadlock:
1. Consider a long running execution of a program that does not finish within the 5 seconds
2. In the meantime there comes either an `AttachVisualization` or `DetachVisualization` request from the client

The latter will get stuck and eventually timeout out because it cannot acquire the lock withing the required time limits. It is still possible that a single long-running `ExecuteJob` might block other ones (including visualization ones) but that's a separate work.

Fixes some issues present in #7941.

# Important Notes
We need to still investigate `ExecuteJob`s need for context lock which might delay the execution of other background jobs that require it as well (mostly concerned about visualization).
2023-10-06 16:48:38 +00:00
..
bench/scala/org/enso/languageserver/text Java 11 Migration (#928) 2020-07-01 13:21:13 +02:00
main Remove context locks from visualization commands (#7953) 2023-10-06 16:48:38 +00:00
test Static parameter in search/completion request affects only methods (#7831) 2023-09-19 15:12:23 +00:00