[omniORB] omninames - two problems (hanging and too many open connections)

Duncan Grisby duncan at grisby.org
Fri Apr 2 17:37:05 BST 2004


On Thursday 25 March, Tomasz Bech wrote:

> What I observed is there are about 160 open port connections to 
> omniNames. I think that it could be problem, so tried to decrease it by 
> calling the destroy on NamingContext.
> Clients only need to call 'resolve' on  NamingContext - so after this 
> call I do NamingContext_instance.destroy(). Unfortunately it throws 
> BAD_OPERATION. Why?

I don't know why destroy is throwing BAD_OPERATION, but it isn't
relevant here. destroy would destroy the NamingContext object, but
have no effect on the connection from the client.

> If so, how to destroy the connection from client to omniNames to its 
> NamingContext (it needs one port connection open and one thread, which 
> in fact is not needed any longer after 'resolve')?

You can't -- the ORB manages connections for you, and closes them when
it decides they are idle. The default timeout for idle connections is
120 seconds. You can reduce it by setting the outConScanPeriod
parameter on the clients, or make omniNames close its incoming
connections sooner by setting inConScanPeriod to something shorter.

> Could the servers which do 'bind' on NamingContext  also somehow 
> close/destroy connection to omniNames just after bind?

All clients of omniNames will close their connections when they're
idle.

> Any other idea about hanging?

I don't know why that would be happening. Can you get some tracing
from omniNames at traceLevel 25 when it hangs?  You might also try
attaching a debugger to the omniNames process when it has hung, to see
what it's up to.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list