Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

x/tools/gopls: allow parallel request processing #32629

Closed
muirdm opened this issue Jun 14, 2019 · 3 comments
Closed

x/tools/gopls: allow parallel request processing #32629

muirdm opened this issue Jun 14, 2019 · 3 comments
Labels
FeatureRequest Issues asking for a new feature that does not need a proposal. gopls Issues related to the Go language server, gopls. Tools This label describes issues relating to any tools in the x/tools repository.

Comments

@muirdm
Copy link

muirdm commented Jun 14, 2019

Currently all requests (e.g. signatureHelp, hover, complete, documentHighlight, etc) are processed synchronously, meaning they block subsequent requests/notifications. This includes the time they spend parsing and type checking, which can be significant. In particular, this is wasteful when a new didChange event comes in, since that "should" cancel all in-flight requests for that package, but currently it has to wait for them all to finish.

When gopls is ready for the extra complexity, @ianthehat says that these requests can change to do most of their work asynchronously.

@gopherbot gopherbot added this to the Unreleased milestone Jun 14, 2019
@gopherbot gopherbot added the gopls Issues related to the Go language server, gopls. label Jun 14, 2019
@ianthehat ianthehat self-assigned this Jun 14, 2019
@ianthehat ianthehat added the FeatureRequest Issues asking for a new feature that does not need a proposal. label Jun 14, 2019
@gopherbot gopherbot added the Tools This label describes issues relating to any tools in the x/tools repository. label Sep 12, 2019
@stamblerre stamblerre modified the milestones: Unreleased, gopls unplanned Dec 4, 2019
@stamblerre stamblerre modified the milestones: gopls unplanned, gopls/v1.0.0 Jan 29, 2020
@stamblerre stamblerre removed the FeatureRequest Issues asking for a new feature that does not need a proposal. label Jan 29, 2020
@stamblerre stamblerre modified the milestones: gopls/v0.6.0, gopls/v0.7.0 Apr 2, 2020
@stamblerre stamblerre removed this from the gopls/v0.7.0 milestone Jun 24, 2020
@stamblerre stamblerre added the FeatureRequest Issues asking for a new feature that does not need a proposal. label Jun 24, 2020
@muirdm
Copy link
Author

muirdm commented Jul 30, 2020

I'm closing this out since I don't think it is an issue anymore. AFAIK request cancelation jumps the queue now which solves the primary issue.

@muirdm muirdm closed this as completed Jul 30, 2020
@stamblerre
Copy link
Contributor

I'm actually going to reopen this because it's caused problems in the context of other issues, like golang/vscode-go#236. Requests can block behind one really slow request. It is definitely less critical though.

@findleyr
Copy link
Member

Closing this old issue in favor of #69937, which has more recent context.

@findleyr findleyr closed this as not planned Won't fix, can't repro, duplicate, stale Oct 18, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
FeatureRequest Issues asking for a new feature that does not need a proposal. gopls Issues related to the Go language server, gopls. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

5 participants