-
Notifications
You must be signed in to change notification settings - Fork 3.9k
xds: ensure server interceptors are created in a sync context #11930
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
xds: ensure server interceptors are created in a sync context #11930
Conversation
`XdsServerWrapper#generatePerRouteInterceptors` was always intended to be executed within a sync context. This PR ensures that by calling `syncContext.throwIfNotInThisSynchronizationContext()`. This change is needed for upcoming xDS filter state retention because the new tests in XdsServerWrapperTest flake with this NPE: > `Cannot invoke "io.grpc.xds.client.XdsClient$ResourceWatcher.onChanged(io.grpc.xds.client.XdsClient$ResourceUpdate)" because "this.ldsWatcher" is null`
|
Sidenote. I've provided But when I was replacing
Oh, Java, and its timeout-less waits. |
|
For posterity. Windows job had https://source.cloud.google.com/results/invocations/237fded9-83ba-4041-8c76-0b14bdf3787d |
…1930) `XdsServerWrapper#generatePerRouteInterceptors` was always intended to be executed within a sync context. This PR ensures that by calling `syncContext.throwIfNotInThisSynchronizationContext()`. This change is needed for upcoming xDS filter state retention because the new tests in XdsServerWrapperTest flake with this NPE: > `Cannot invoke "io.grpc.xds.client.XdsClient$ResourceWatcher.onChanged(io.grpc.xds.client.XdsClient$ResourceUpdate)" because "this.ldsWatcher" is null`
#12102) `XdsServerWrapper#generatePerRouteInterceptors` was always intended to be executed within a sync context. This PR ensures that by calling `syncContext.throwIfNotInThisSynchronizationContext()`. This change is needed for upcoming xDS filter state retention because the new tests in XdsServerWrapperTest flake with this NPE: > `Cannot invoke "io.grpc.xds.client.XdsClient$ResourceWatcher.onChanged(io.grpc.xds.client.XdsClient$ResourceUpdate)" because "this.ldsWatcher" is null` Co-authored-by: Sergii Tkachenko <[email protected]>
XdsServerWrapper#generatePerRouteInterceptorswas always intended to be executed within a sync context. This PR ensures that by callingsyncContext.throwIfNotInThisSynchronizationContext().This change is needed for upcoming xDS filter state retention (PR #11936) because the new tests in XdsServerWrapperTest flake with this NPE: