[omniORB] Latency problem with redundant networks
Jochen Behrens
jochen.behrens at barco.com
Thu Aug 21 10:27:27 BST 2003
Hi folks,
On linux (suse/redhat 7.2) I have a problem with latency times in
network failure detection.
For example, the server creates object references for multiple network
interfaces as follows:
serverApp -ORBendPoint giop:tcp:<eth0>: -ORBendPoint giop:tcp:<eth1>:
The client is able to establish a connection for the first endPoint. Now
the network fails and the client shall try to establish a connection via
the second network. Unfortunately, network failure detection and
connection re-establishing takes to much time.
In case client call timeouts are disabled (ORBclientCallTimeOutPeriod=0)
failure detection may take some minutes.
Since we have the requirement to detect and handle network failures
within a few seconds we define a timeout on client side (e.g.
ORBclientCallTimeOutPeriod=2000). In this case the ORB throws
TRANSIENT_ConnectFailed to the application as expected.
But subsequent calls on the remote object reference seem only to use the
first endpoint (profile).
Is it possible to encourage the client ORB to use the next network
address of the object reference?
Maybe, an alternative (better?) way would be to adjust the TCP layer for
faster timouts. In the tcp manual page the socket option IP_RECVERR is
listed for quicker error notification. But I cannot estimate the
possible side effects.
Is there anybody who has experience?
Thanks in advance,
Jochen Behrens
More information about the omniORB-list
mailing list