[omniORB] Timeout of _non_existent ?
Duncan Grisby
dgrisby@uk.research.att.com
Tue, 28 Aug 2001 15:35:54 +0100
On Tuesday 28 August, "Tim Ward" wrote:
[...]
> (1) It appears to be OmniORB specific and one might have preferred a
> standard solution to what is obviously an orb-independent problem. Is this a
> hole in the design of Corba?
The new(ish) Real Time CORBA spec adds a standardised interface to
some of these things, but omniORB won't be supporting that any time
soon.
>
> (2) It's not clear to me from the documentation what the scope of
> callTimeOutPeriod() is:
It's a global configuration affecting the whole process.
If you need to do your existence check in a way that doesn't set the
timeout too low for other calls, you'll have to use your own thread to
do the _non_existent call. If it doesn't return in time, don't try to
kill the thread -- that will cause all sorts of grief -- but just wait
until it dies of its own accord. The situation of _non_existent taking
ages to fail should be rare enough that having an extra thread around
for a minute or two shouldn't matter.
> Also we have observed the following "feature" of using callTimeOutPeriod():
[...]
> What happens next is that the server sees a second invocation of the method,
> ie something seems to be doing a retry. (Which has been queued up somewhere
> as the client code has long since lost interest in this operation.) This
> isn't a big deal for our system, but we are curious to know what is doing
> the retrying and what control we might have over it?
The "feature" is a consequence of the way omniORB 3 manages
connections. Sai-Lai explains it here:
http://www.uk.research.att.com/omniORB/archives/2000-12/0146.html
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --