[omniORB] CORBA::TRANSIENT and lag

Sylvain Gault sylvain.gault at inria.fr
Tue Aug 20 00:57:54 BST 2013


On Mon, Aug 19, 2013 at 09:34:51PM +0200, Sylvain Gault wrote:
> Hello,
> 
> Sometime, when I call a method on a remote object, I get a
> CORBA::TRANSIENT exception. I've been told that in this case, I should
> just retry that call.
> The traces tells me that these exceptions are due to connections that
> fail to be established.
> This introduce a lag of at least 21 seconds (between the first call and
> the time I get the exception). Sometime 42 seconds when the second call
> fail also. This is quite annoying.
> 
> Therefore, I have two questions:
> What can this be due to?
> My trafic shaping may drop some packets sometime, but this even should
> be quite rare. Can this be related?
> Can I, somehow, shorten the delay between the call start and the
> exception throw?

Additional information:
It may not be linked to omniORB directly.

When running my process within strace, I can see the following lines:

01:00:50.668058 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 132
01:00:50.668120 setsockopt(132, SOL_TCP, TCP_NODELAY, [1], 4) = 0
01:00:50.668195 fcntl(132, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
01:00:50.668262 connect(132, {sa_family=AF_INET, sin_port=htons(43193), sin_addr=inet_addr("10.132.0.10")}, 16) = -1 EINPROGRESS (Operation now in progress)
01:00:50.668534 poll([{fd=132, events=POLLOUT}], 1, -1) = 1 ([{fd=132, revents=POLLOUT|POLLERR|POLLHUP}])
01:01:11.669504 write(2, "omniORB: Failed to connect (no peer name): 10.132.0.10\n", 55) = 55
01:01:11.669605 close(132)              = 0
01:01:11.669655 write(2, "omniORB: Switch rope to use address giop:tcp:10.132.0.10:43193\n", 63) = 63
01:01:11.669719 write(2, "omniORB: Unable to open new connection: giop:tcp:10.132.0.10:43193\n", 67) = 67
01:01:11.669774 write(2, "omniORB: throw giopStream::CommFailure from giopStream.cc:1153(0,NO,TRANSIENT_ConnectFailed)\n", 93) = 93

What I understand is that it tries to connect a non blocking socket, and
21 seconds later it fails.
However, the peer node do not see any incoming connection.
I guess the packets were just dropped because of the trafic shaping...

Although, any comment is welcome.


Regards,
Sylvain Gault



More information about the omniORB-list mailing list