[omniORB] [Q] how to perge dead services from Naming service
V S P
toreason at fastmail.fm
Tue Apr 28 16:26:59 BST 2009
Hi
thank you
that's what I ended up to doing
I have in every server now a 'ping' method
then I implemented a new client that periodically pins
everything in the naming service within a mutex lock
(that has my name pattern)
if ping does not work, I then remove the object
from the naming service by calling unbind
at first I was trying to do 'unbind' and then 'destroy'
but I do not think 'destroy' would work on object that is already
not active
(unlike delete NULL in C++ that does not crash if ptr is NULL)
so I just left unbind.
On Tue, 28 Apr 2009 14:49 +0100, "Duncan Grisby" <duncan at grisby.org>
wrote:
> On Tuesday 21 April, "V S P" wrote:
>
> > I have servant object's named 'OTRQ'
> > when they register with the naming service they register
> > as OTRQ__hostnm__ProcessId
> >
> > Then the client asks the naming service for a list of registered
> > servants (hopefully the naming convention above makes them unique -- I
> > could not come up with anything 'brigher' that this)
> > And then it randomly selects one -- and works with that.
> >
> > The problem is, when traversing the list of servants I see dead
> > servants (that is those processes are not running)
> > -- I do not want them. When I restart the servants, of course,
> > the chance that they will bind to a 'dead' name is slim (but I still
> > support it by calling rebind).
> >
> > Is there something I can configure in the naming service to
> > 'automagically remove' dead servants as soon as possible?
> > or is there a more standard load-balancing scheme?
>
> That's not really the way the CORBA naming service is intended to be
> used. It is just a simple lookup mechanism from names to object
> references. It doesn't make any judgement about whether the object
> references correspond to objects that are currently active or not.
>
> You would be much better off implementing your own simple object
> registry that your objects register with. The registry can then
> periodically ping the objects (or the objects periodically ping the
> registry if that's more appropriate).
>
> Cheers,
>
> Duncan.
>
> --
> -- Duncan Grisby --
> -- duncan at grisby.org --
> -- http://www.grisby.org --
--
V S P
toreason at fastmail.fm
--
http://www.fastmail.fm - Choose from over 50 domains or use your own
More information about the omniORB-list
mailing list