fix: ensure the xds grpc server is properly stopped #1860
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.
What type of PR is this?
fix: the two xds grpc server in envoy-gateway has not been properly stopped.
logs (before fix)
logs (after fix)
What this PR does / why we need it:
the
grpc.Serve()
method will block<-ctx.Done()
, so the<-ctx.Done()
will never be executed even if the ctx is canceled, causing the grpc server never be stopped.gateway/internal/xds/server/runner/runner.go
Lines 105 to 110 in 3e0ba18
so the fix here is to let
grpc.Serve()
method DO NOT block<-ctx.Done()
, let grpc server properly stopped.Which issue(s) this PR fixes:
None