Legacy Issue Number: 3770
Source: Perot Systems ( Bill Binko)
This problem comes from the fact that RoutingPolicy is actually a range: min and max. Basically, Messaging defines this range of Routing QoS:
ROUTE_NONE(0) ---> ROUTE_FORWARD(1) ---> ROUTE_STORE_AND_FORWARD(2)
You can set your min and max to any of the values, with the caveat that min must be <= max. The issue that concerns us is when the min is ROUTE_NONE(0) and the max is either ROUTE_FORWARD(1) or ROUTE_STORE_AND_FORWARD(2).
If you look at the Messaging spec (orbos/98-05-06) in section 188.8.131.52, it says:
"If, for example, the min is ROUTE_NONE and the max is ROUTE_FORWARD, the Routing protocol will normally be used but a direct connection may be used if available."
Of course, we've left in "usually" just to make sure we could screw up OTS for you
Reading the text in section 3.3 makes me believe that an issue should really be raised in the Messaging-RTF to clarify this. Here's what I BELIEVE the results would be for all of the combinations.
min maxresultconfidence ----------- ---------- -------------------- ROUTE_NONEROUTE_NONEDirect Call100% ROUTE_NONEROUTE_FORWARDTII if possible50% direct if not ROUTE_NONEROUTE_STORE_AND_FORWARDTII if possible50% direct if not ROUTE_FORWARDROUTE_FORWARDTII Only100% ROUTE_FORWARDROUTE_STORE_AND_FORWARDTII Only100% ROUTE_STORE_AND_FORWARDROUTE_STORE_AND_FORWARDTII Only100%
Obviously, the problem is with cases #2 and #3.
How should an ORB determine which to use: what priority is given to each of the RoutingType values?
Reported: CPP 1.1 — Mon, 31 Jul 2000 04:00 GMT
Disposition: Resolved — CORBA 3.0.2
close no change
Updated: Fri, 6 Mar 2015 20:58 GMT
CORBA3 — RoutingPolicy issue
- Key: CORBA3-16
- OMG Task Force: Core 2002 RTF