[omniORB] Why do oneway requests hang on disconnected network?

Wernke zur Borg wernke.zur.borg at vega.de
Thu Nov 16 08:06:41 GMT 2006



I would have expected that oneway calls always return immediately,
irrespective of the state of any underlying transport, and that they are
also independent of client-side timeout settings. That is also what I
have experienced so far, and I have not had any blocking problems. This
is on Solaris 8 with omniORB 4.0.6. I am curious about the answer to
this question.

Regards, Wernke

> 
> Hi Tuyen,
> 
> I suspect that this behaviour is not caused by omniORB but 
> rather by the
> underlying TCP/IP transport.  The data buffer for outgoing 
> requests that
> you mention is probably the TCP socket's send buffer.
> 
> Which OS are you using?  Can you configure it to shut down the network
> interface when it senses that the network cable has been unplugged?
> 
> The CORBA spec does state that oneway calls are not guaranteed to be
> delivered.  To address the problem of indefinitely blocking, have you
> tried setting a client-side timeout on the oneway invocation?
> 
> http://omniorb.sourceforge.net/omni40/omniORB/omniORB008.html#
> sec:timeou
> tAPI
> 
> Regards,
> Luke.
> 
> -----Original Message-----
> From: omniorb-list-bounces at omniorb-support.com
> [mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of Tuyen
> Chau
> Sent: Thursday, 16 November 2006 11:17 AM
> To: OmniOrb
> Subject: [SPAM_HeaderCheck] - [omniORB] Why do oneway requests hang on
> disconnected network? - Email has different SMTP TO: and MIME 
> TO: fields
> in the email addresses
> 
> Why do "oneway" requests hang, instead of return an COM_FAILURE 
> exception, when the network is disconnected?  As part of testing our 
> product, we unplugged the network cable.  We were surprised 
> to find that
> 
> these oneway requests executed without errors for a good 5-10 
> minutes or
> 
> so, then they blocked indefinitely.  If we replaced the 
> network cable, 
> the calls eventually unblocked and everything worked again.  Our best 
> guess at the moment is that there is a data buffer for 
> outgoing requests
> 
> and the oneway requests block when the buffer is full.
> 
> Is there any way to alter this behavior and receive a COM_FAILURE 
> exception instead?
> 
> Our oneway requests are being used as "callbacks" when the 
> server needs 
> to send events to its clients to notify them of changes in the system.
> 
> Best Regards,
> Tuyen
> 
> 
> **************************************************************
> ********************************
> 
> Important Note
> This email (including any attachments) contains information which is
> confidential and may be subject to legal privilege.  If you are not
> the intended recipient you must not use, distribute or copy this
> email.  If you have received this email in error please notify the
> sender immediately and delete this email. Any views expressed in this
> email are not necessarily the views of XPlan Technology.
> 
> It is the duty of the recipient to virus scan and otherwise test the
> information provided before loading onto any computer system.
> Xplan Technology does not warrant that the
> information is free of a virus or any other defect or error.
> **************************************************************
> ********************************
> 
> 
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> 



More information about the omniORB-list mailing list