[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