[omniORB] TRANSIENT or COMM_FAILURE

Serguei Kolos Serguei.Kolos at cern.ch
Tue Nov 11 08:48:56 GMT 2003


I have noticed recently that under different conditions omniORB4 throws 
different
exceptions in case when remote server is not running.

Case 1:  my client connects to the server, invokes a method on it and then
             waits for a time sufficient for the server to close it's 
connection as idle.
             If I then kill the server and tell to the client to invoke 
a remote method again,
             it will get TRANSIENT exception.
Case 2: my client connects to the server, invokes a method on it and 
then I kill
             the server and tell to the client to invoke a remote method 
again.
             In this case it will get COMM_FAILURE exception.

I have raised the issue about these exceptions in the comp.object.corba 
newsgroup.
Here are my questions the answers of Michi Henning. Do you agree with 
his opinion?
Cheers,
Sergei

Q:
> For example consider the following situation:
>     Client invokes two times the same remote method on the same server.
>     The first invocation is successful. Then the server dies before the client
>     started the second invocation. Does CORBA spec. provide a clear requirement
>     to which exception must be thrown?


A:
TRANSIENT. It means "nobody home".

Q:
> Practically I noticed that different ORBs throw different exceptions in
> this case.

A:
You mean they throw COMM_FAILURE? In that case, the ORB isn't
compliant.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20031111/1e73ab36/attachment.htm


More information about the omniORB-list mailing list