This repository was archived by the owner on Sep 30, 2024. It is now read-only.
symbols: avoid spamming handleParseRequest on context cancelation#61732
Merged
keegancsmith merged 1 commit intomainfrom Apr 11, 2024
Merged
symbols: avoid spamming handleParseRequest on context cancelation#61732keegancsmith merged 1 commit intomainfrom
keegancsmith merged 1 commit intomainfrom
Conversation
Understanding how Parse works (and its callers) with respect to goroutines and channels is a sure path to the asylum. This is a short term fix around how it behaves when the context is canceled. From what I can tell we can have a large number of parse requests go through handleParseRequest even once the context has been canceled, leading to large amounts of logging of errors which all amount to context canceled. This is a short term fix which drains the channel if we know we are just gonna fail our call to handleParseRequest. Test Plan: go test. Didn't manual test, but the code change is minor enough that I trust it (famous last words).
jtibshirani
reviewed
Apr 9, 2024
Contributor
jtibshirani
left a comment
There was a problem hiding this comment.
Do you see this as complementing https://github.com/sourcegraph/sourcegraph/pull/61719? Maybe it's not strictly needed but it's a good practice to check context cancellation?
Member
Author
|
Yup is a complement to it. To be honest if I could understand how all the goroutines and channels fit together properly I would do some sort of break out of the loop. Instead this essentially just avoids calling that function if we know it won't run due to context cancellation. |
jtibshirani
approved these changes
Apr 10, 2024
sourcegraph-release-bot
pushed a commit
that referenced
this pull request
Apr 11, 2024
…1732) Understanding how Parse works (and its callers) with respect to goroutines and channels is a sure path to the asylum. This is a short term fix around how it behaves when the context is canceled. From what I can tell we can have a large number of parse requests go through handleParseRequest even once the context has been canceled, leading to large amounts of logging of errors which all amount to context canceled. This is a short term fix which drains the channel if we know we are just gonna fail our call to handleParseRequest. Test Plan: go test. Didn't manual test, but the code change is minor enough that I trust it (famous last words). (cherry picked from commit a0b74fb)
jdpleiness
pushed a commit
that referenced
this pull request
Apr 12, 2024
…text cancelation (#61771) symbols: avoid spamming handleParseRequest on context cancelation (#61732) Understanding how Parse works (and its callers) with respect to goroutines and channels is a sure path to the asylum. This is a short term fix around how it behaves when the context is canceled. From what I can tell we can have a large number of parse requests go through handleParseRequest even once the context has been canceled, leading to large amounts of logging of errors which all amount to context canceled. This is a short term fix which drains the channel if we know we are just gonna fail our call to handleParseRequest. Test Plan: go test. Didn't manual test, but the code change is minor enough that I trust it (famous last words). (cherry picked from commit a0b74fb) Co-authored-by: Keegan Carruthers-Smith <keegan.csmith@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Understanding how Parse works (and its callers) with respect to goroutines and channels is a sure path to the asylum. This is a short term fix around how it behaves when the context is canceled.
From what I can tell we can have a large number of parse requests go through handleParseRequest even once the context has been canceled, leading to large amounts of logging of errors which all amount to context canceled. This is a short term fix which drains the channel if we know we are just gonna fail our call to handleParseRequest.
Test Plan: go test. Didn't manual test, but the code change is minor enough that I trust it (famous last words).