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

WorkspaceEditingService: restart of extension host is not atomic #78609

Closed
bpasero opened this issue Aug 7, 2019 · 0 comments
Closed

WorkspaceEditingService: restart of extension host is not atomic #78609

bpasero opened this issue Aug 7, 2019 · 0 comments
Assignees
Labels
debt Code quality issues extension-host Extension host issues
Milestone

Comments

@bpasero
Copy link
Member

bpasero commented Aug 7, 2019

Today, when we enter a workspace (e.g. transition from empty workspace => untitled workspace), we have to restart the extension host for a couple of reasons:

  • the workspace.rootPath changes
  • the location of storage changes

We do this by first calling stopExtensionHost, then entering the workspace (which is LONG RUNNING) and then calling startExtensionHost. This potentially leaves the workbench in a state of NO extension host running until it gets started.

Discussed with @alexandrudima that we want to call restartExtensionHost once the workspace has been entered to have a more atomic behaviour.

The only downside of this approach is that extensions potentially receive a workspace change event and then get shutdown and restarted. But we think extensions need to be fit for this anyway today already ever since we introduced these APIs for multi root.

//cc @sandy081

@bpasero bpasero added debt Code quality issues extension-host Extension host issues labels Aug 7, 2019
@bpasero bpasero added this to the August 2019 milestone Aug 7, 2019
@bpasero bpasero self-assigned this Aug 7, 2019
@bpasero bpasero closed this as completed Aug 7, 2019
@vscodebot vscodebot bot locked and limited conversation to collaborators Sep 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Code quality issues extension-host Extension host issues
Projects
None yet
Development

No branches or pull requests

1 participant