feat: add deadline for trace request #118
Merged
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.
feat: add deadline for trace request
In our practice, we have found that when skywalking's backend service is under too much pressure to handle the request quickly, the trace request will stay alive by default and not be closed (the default value of grpc deadline is 2147483647). If the default
maxBufferSize
is used, a large number of requests per second will pile up, and slowly the client's memory will rise until it reaches the pod's limit and restarts. as shown:This also causes frequent up and down for skywalking's backend services (because of RetryingCall), which is very dangerous!