-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Tracking Issue for NameResolution being Experimental. #1770
Comments
I'm interested Context-aware name resolution. This doesn't seem obviously possible with the current NameResolver API and usage, but I'm not familiar with the broader set of APIs. Thoughts? |
@b-hoyt I don't know what you mean. Context-aware in what way? Why is it not possible with the current API? |
Say for example each client making an RPC call wants to provide hints to name resolution for how the NameResolver might resolve some targetUri that represents an abstract destination "||map_service||". The clients provide these hints, which may vary between requests, as value in the current context. I can picture how an interceptor, which has access to the Context, may have a reference to the NameResolver in order to supply it with the hints. The NameResolver could do its thing using those hints and updated the associated Listener with the fully ResolvedServerInfos. But there is no distinction between the ResolvedServerInfos for in-flight-request-A vs. in-flight-request-B, in other words Context scope < ResolvedServerInfos scope |
@b-hoyt Name resolution is in the Channel scope, which outlives the Call scope. Allowing individual RPC calls to influence name resolution simply doesn't fit in our architecture. |
@b-hoyt, I'd suggest writing a But I don't see NameResolver supporting this case. As @zhangkun83 mentioned, it is pretty incompatible with the architecture. |
API meeting notes:
|
Actually, it was that UNKNOWN_CONFIG would be private, within LoadBalancerProvider. |
#7133 is for removing NameResolver.Factory. |
Specific usages:
EquivalentAddressGroup
ManagedChannelBuilder.nameResolverFactory
NameResolver
NameResolverRegistry
ResolvedServerInfo
The text was updated successfully, but these errors were encountered: