-
Notifications
You must be signed in to change notification settings - Fork 103
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
Partial support client results in sharding mode. #1828
Conversation
...Microsoft.Azure.SignalR.Common/ServiceConnections/MultiEndpointServiceConnectionContainer.cs
Outdated
Show resolved
Hide resolved
...Microsoft.Azure.SignalR.Common/ServiceConnections/MultiEndpointServiceConnectionContainer.cs
Outdated
Show resolved
Hide resolved
...Microsoft.Azure.SignalR.Common/ServiceConnections/MultiEndpointServiceConnectionContainer.cs
Outdated
Show resolved
Hide resolved
} | ||
if (endpointCnt == 0) | ||
{ | ||
throw new ArgumentException("Client invocation is not sent because no endpoint is returned from the endpoint router."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
throw AzureSignalRNoEndpointAvailableException?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exception sounds like endpoints are down but actually results are returned from (custom) router. So suggest current information is clear enough.
* Add echo in ServiceProtocol. (#1829) * Partial support client results in sharding mode. (#1828) * Partial support client results in sharding mode. * limit single to avoid timeout waiting. * Better information. * update doc * fix count. * better exception information. * Update version.props (#1830) --------- Co-authored-by: Zhenghui Yan <vwxyzh@gmail.com>
Make client invocation supported in sharding mode. Currently CI manager rely on single response from service side which make it not work in multiple endpoints scenarios that server side has to manage all the endpoints results before completion.