Created On:  13 April 2011

Problem:

  • Product Name: VisiBroker
  • Product Version: All
  • Product Component: Core ORB
  • Platform/OS Version: All
  • JDK/Compiler Version: All
When do we expect to catch org.omg.CORBA.TRANSIENT or org.omg.CORBA.COMM_FAILURE?

In a VisiBroker application, when there are TCP connection errors, exceptions will be thrown.
These exceptions might be CORBA.TRANSIENT, CORBA.COMM_FAILURE or CORBA.TIMEOUT (if timeout properties are set, the CORBA.TRANSIENT and CORBA.COMM_FAILURE exceptions will be wrapped into CORBA.TIMEOUT exception).

When does VisiBroker throw CORBA.TRANSIENT or CORBA.COMM_FAILURE exceptions?

Resolution:

CORBA.TRANSIENT exception is thrown when the TCP connection is closed/broken during socket writing.

For example:
       org.omg.CORBA.TRANSIENT: CloseConnection message received from server.  vmcid: 0x56420000  minor code: 320  completed: No
       at com.inprise.vbroker.GIOP.GiopConnection.send_message(Unknown Source)
       at com.inprise.vbroker.GIOP.GiopConnection.send_message(Unknown Source)
       at com.inprise.vbroker.firewall.FirewallConnection.send_message(Unknown Source)
       at com.inprise.vbroker.GIOP.ProtocolConnector.invoke(Unknown Source)
       at com.inprise.vbroker.interceptor.ChainClientInterceptorAdapter.invoke(Unknown Source)
       at com.inprise.vbroker.orb.DelegateImpl.invoke(Unknown Source)
       at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:484)
       at org.csapi.fw.fw_access.trust_and_security._IpClientAPILevelAuthenticationStub.challenge(_IpClientAPILevelAuthenticationStub.java:231)
       at com.telcordia.osg.framework.AuthenticationManager.authenticateEntity(AuthenticationManager.java:461)
       at com.telcordia.osg.framework.InitialAuthenticationTimerTask$AuthenticationThread.run(InitialAuthenticationTimerTask.java:47)
       at com.telcordia.iscp.util.ThreadPool$PooledThread.run(ThreadPool.java:735)


CORBA.COMM_FAILURE exception is thrown when the TCP connection is closed/broken during socket reading.

Example as below:
        org.omg.CORBA.COMM_FAILURE: java.net.SocketTimeoutException: Read timed out  vmcid: 0x0  minor code: 0  completed: No
        at com.borland.security.csiv2.SSLConnection.read(SSLConnection.java:848)
        at com.inprise.vbroker.GIOP.BaseInputStream.readFromConnection(Unknown Source)
        at com.inprise.vbroker.GIOP.MessageFactory.readMessage(Unknown Source)
        at com.inprise.vbroker.GIOP.GiopConnection.receive_message(Unknown Source)
        at com.inprise.vbroker.IIOP.ProtocolConnection.receive(Unknown Source)
        at com.inprise.vbroker.IIOP.ProtocolConnection.receive_request(Unknown Source)
        at com.inprise.vbroker.IIOP.ServerProtocolAdapter.readMessage(Unknown Source)
        at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(Unknown Source)
        at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)