[omniORB] multiple Profile IORs and timeouts
Jochen Behrens
jochen.behrens at barco.com
Mon Dec 13 16:22:39 GMT 2004
Hi,
I've a similar problem as reported in this newsgroup a couple of weeks
ago (multiple-profile IORs) but this is related to omniORB 4.0.5. The
client tries to establish a connection to a server via a corbaloc
reference. Since the server host provides two multiple ethernet
interfaces both of them are listed in the corbaloc reference as follows:
corbaloc:iiop:1.2 at 192.168.207.11:5555,iiop:1.2 at 192.168.208.11:5555/EventService
Tests have shown that the guaranteed fault-tolerance behaviour works as
expected when the first interface is not available (i.e. the client
tries to establish a connection to 192.168.207.11, gives up after same
time and establishes a connection via 192.168.208.11).
However, the TCP timeout delay which forces the ORB to use the second
profile can run into tens of seconds. This contradicts our requirements
and I have to find a way to reduce this delay. I've tried out a client
call timeout (e.g. clientCallTimeOutPeriod=1000) and retry to establish
a connection within a loop. But unfortunetly, it doesn't work. The ORB
only retries to establish a connection via the first profile.
Maybe I've missed something. But is there any way to cope with that on
ORB level (forcing a profile switch)? Or do I need to adjust the TCP
settings of our platform (which is Redhat Linux 7.2). Has anyone a
solution or any experiences that may be helpful? Any help is appreciated.
I've attached both traces below.
Trace clientCallTimeOutPeriod=0:
omniORB: Initialising incoming endpoints.
omniORB: Bind to address 0.0.0.0.
omniORB: Starting serving incoming endpoints.
SubscriberImpl::SubscriberImpl
omniORB: Adding root/bidir.persistent<0> (activating) to object table.
omniORB: State root/bidir.persistent<0> (activating) -> active
omniORB: Creating ref to local: root/bidir.persistent<0>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id: IDL:PS/Subscriber:1.0
omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1
omniORB: giopRendezvouser task execute for giop:tcp:192.168.207.10:33854
omniORB: Creating ref to remote: boa<0x4576656e7453657276696365>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id:
Try to connect EventService
corbaloc:iiop:1.2 at 192.168.207.11:5555,iiop:1.2 at 192.168.208.11:5555/EventService
omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 2
omniORB: Scavenger task execute.
omniORB: throw giopStream::CommFailure from
giopStream.cc:1073(1,NO,TRANSIENT_ConnectFailed)
omniORB: Client opened bidirectional connection to
giop:tcp:192.168.208.11:5555
omniORB: send bidir IIOP service context: ( 192.168.208.10:33854 )
omniORB: sendChunk: to giop:tcp:192.168.208.11:5555 124 bytes
omniORB: AsyncInvoker: thread id = 3 has started. Total threads = 4
omniORB: AsyncInvoker: thread id = 4 has started. Total threads = 4
omniORB: giopWorker task execute.
Trace clientCallTimeOutPeriod=1000:
omniORB: Initialising incoming endpoints.
omniORB: Bind to address 0.0.0.0.
omniORB: Starting serving incoming endpoints.
SubscriberImpl::SubscriberImpl
omniORB: Adding root/bidir.persistent<0> (activating) to object table.
omniORB: State root/bidir.persistent<0> (activating) -> active
omniORB: Creating ref to local: root/bidir.persistent<0>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id: IDL:PS/Subscriber:1.0
omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1
omniORB: giopRendezvouser task execute for giop:tcp:192.168.207.10:33859
omniORB: Creating ref to remote: boa<0x4576656e7453657276696365>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id:
Try to connect EventService
corbaloc:iiop:1.2 at 192.168.207.11:5555,iiop:1.2 at 192.168.208.11:5555/EventService
omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 2
omniORB: Scavenger task execute.
omniORB: throw giopStream::CommFailure from
giopStream.cc:1073(1,NO,TRANSIENT_ConnectFailed)
omniORB: throw giopStream::CommFailure from
giopStream.cc:1073(0,NO,TRANSIENT_ConnectFailed)
omniORB: throw TRANSIENT from omniObjRef.cc:759 (NO,TRANSIENT_ConnectFailed)
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef() -- deleted.
omniORB: Creating ref to remote: boa<0x4576656e7453657276696365>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id:
Try to connect EventService
corbaloc:iiop:1.2 at 192.168.207.11:5555,iiop:1.2 at 192.168.208.11:5555/EventService
omniORB: throw giopStream::CommFailure from
giopStream.cc:1073(1,NO,TRANSIENT_ConnectFailed)
omniORB: throw giopStream::CommFailure from
giopStream.cc:1073(0,NO,TRANSIENT_ConnectFailed)
omniORB: throw TRANSIENT from omniObjRef.cc:759 (NO,TRANSIENT_ConnectFailed)
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef() -- deleted.
omniORB: Creating ref to remote: boa<0x4576656e7453657276696365>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id:
--
Best regards,
Jochen Behrens
Software Engineer
Barco Orthogon AG
Hastedter Osterdeich 222, D-28207 Bremen
Tel +49-421-20122-447 Fax +49-421-20122-999
www.barco-orthogon.com
jochen.behrens at barco.com
- - - - - - - DISCLAIMER - - - - - - - -
This e-mail and any further files transmitted with it are
confidential. If you are not the intended recipient, please
notify postmaster.orthogon at barco.com and delete the files.
Full disclaimer: www.barco-orthogon.com/html/e-mail_disclaimer.htm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20041213/33e3a7be/attachment.htm
More information about the omniORB-list
mailing list