Vladimir Steshin created IGNITE-20922:
-----------------------------------------
Summary: Java Thin: direct service invocation with
ClientClusterGroup and Service Awareness
Key: IGNITE-20922
URL: https://issues.apache.org/jira/browse/IGNITE-20922
Project: Ignite
Issue Type: Improvement
Reporter: Vladimir Steshin
Once we implemented Service Awareness for Java Thin Client, we can improve the
service invocation with `IgniteClient.services(ClientClusterGroup grp)`
Consider:
1) There is a cluster with some nodes A, B, C, D, F
1) A service is deployed on nodes A,B,C
2) Service Awareness is enabled.
3) User limits the service instance nodes set with `services('node A', 'node
B')` skipping node C.
4) The thin client requests the service randomly on node C because it has the
service instance too.
5) Node C redirects the invocation to node A or node B as user required.
We should prevent the redirection call at #5 and call service only on A or B.
It looks simple to intersect passed `ClientClusterGroup` and known set of
service instance nodes before the service calling. I.e. the client can exclude
node C from the options where to send the invocation request.
If user chosses `services('node A', 'node B', 'node F')`, where F has no
service instance, we do not invoke F.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)