[CONTROLLER-1292] Clustering : If only one member have registered provider for Global RPC, RPC does not work from other nodes Created: 05/May/15  Updated: 25/Jul/23  Resolved: 02/Feb/17

Status: Resolved
Project: controller
Component/s: clustering
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Harman Singh Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Blocks
blocks CONTROLLER-1580 sal-remoterpc-connector: do not use c... Resolved
blocks CONTROLLER-1583 sal-remoterpc-connector: install remo... Resolved
blocks CONTROLLER-1585 sal-remoterpc-connector: do not use R... Resolved
is blocked by CONTROLLER-1587 Fix blueprint assumptions around odl:... Resolved
Duplicate
is duplicated by CONTROLLER-1533 Global MD-SAL RPCs are not global Resolved
External issue ID: 3128
Priority: High

 Description   

If only one member of cluster has provider for global RPC and RPC call is made from other node, then an exception is thrown

Failed call to RPC. Ignoring for this node
java.lang.IllegalStateException: No default provider is available

Call never reaches the remote Rpc connector



 Comments   
Comment by Tony Tkacik [ 06/May/15 ]

Lithium or Helium?

Comment by Harman Singh [ 06/May/15 ]

Its Lithium, does 0.4.0 means Lithium?

Comment by Moiz Raja [ 26/May/15 ]

Do we need to do this in Lithium?

Comment by Moiz Raja [ 25/Aug/15 ]

https://git.opendaylight.org/gerrit/#/c/23123/

Comment by Vaclav Demcak [ 18/Oct/16 ]

https://git.opendaylight.org/gerrit/#/c/23123/

rebesed but it isn't working yet

Comment by Muthukumaran Kothandaraman [ 23/Nov/16 ]

In symmetric cluster, there can be multiple routees as providers of same RPC service. In which case, how single target local / remote-provider would be chosen ?

In case of routed-rpc , route-key is unique across cluster so rpc target address would resolve to one and only one of N cluster nodes. But, in case of global rpcs, there can be multiple target address for same RPC and resolving could imply some kind of routing-policy to resolve to single target.

Am I missing something ?

Comment by Robert Varga [ 16/Jan/17 ]

Update to RPC router concepts: https://git.opendaylight.org/gerrit/50487

Comment by Robert Varga [ 17/Jan/17 ]

master: https://git.opendaylight.org/gerrit/50488

Comment by Michal Rehak [ 18/Jan/17 ]

Confirming that with patch 50488 3-node cluster supports routing of global rpc.

Tested instance of global rpc is managed via SingletonClusterService which ensures that there is always only one registered instance among cluster nodes.

Comment by Robert Varga [ 19/Jan/17 ]

... but it breaks blueprint's odl:rpc-service extension. I am still analyzing ways on how to get out of this.

Comment by Robert Varga [ 02/Feb/17 ]

boron: https://git.opendaylight.org/gerrit/51256

Generated at Wed Feb 07 19:55:10 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.