Jaromír Talíř
2007-11-07 19:40:34 UTC
Hello,
we are using omniORB as a communication platform in just created
domain registry system for .cz TLD (about 350000 domains, released as
open source on http://fred.nic.cz). Both python and c++ parts are really
good. Many thanks to authors!
But recently we had noticed on our production server (omniorb-4.0.6),
that in high load, omniNames started refuse to answer 'resolve' command
throwing CORBA/COMM_FAILURE. I managed to simulate this situation (hope
it's the same situation) with omniorb-4.1.0 by this simple script:
---- begin of test.sh -----
#!/bin/bash
while /bin/true
do
nameclt -ior corbaname::localhost resolve Name.Object > /dev/null
done
---- end of test ----
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
...
And after small time:
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
...
What should it be? I tried to lookup omniORB thread options and I think
defaults are fine. I expect that when no corba resources (threads?) are
available, call is blocked waiting for resource(clientCallTimeOutPeriod
is 0 by default), so there shouldn't be any failure (and only efficiancy
will drop), is it true?
Regards
Jaromir Talir
CZ.NIC
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3870 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20071107/65886da9/smime.bin
we are using omniORB as a communication platform in just created
domain registry system for .cz TLD (about 350000 domains, released as
open source on http://fred.nic.cz). Both python and c++ parts are really
good. Many thanks to authors!
But recently we had noticed on our production server (omniorb-4.0.6),
that in high load, omniNames started refuse to answer 'resolve' command
throwing CORBA/COMM_FAILURE. I managed to simulate this situation (hope
it's the same situation) with omniorb-4.1.0 by this simple script:
---- begin of test.sh -----
#!/bin/bash
while /bin/true
do
nameclt -ior corbaname::localhost resolve Name.Object > /dev/null
done
---- end of test ----
for i in `seq 1 300`; do { ./test.sh & }; done
After few minutes it start output:Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
...
And after small time:
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
Unexpected CORBA COMM_FAILURE exception when trying to narrow the
NamingContext.
...
What should it be? I tried to lookup omniORB thread options and I think
defaults are fine. I expect that when no corba resources (threads?) are
available, call is blocked waiting for resource(clientCallTimeOutPeriod
is 0 by default), so there shouldn't be any failure (and only efficiancy
will drop), is it true?
Regards
Jaromir Talir
CZ.NIC
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3870 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20071107/65886da9/smime.bin