Hi Group,
after switching to Java 1.5.0 I observe a lot of problems in using
Corba (SUN Orb) between different machines. If both end are on the
same machine, everything seems OK.
One of the problems what I see is that a very simple call sometimes
does not return at all; one of my calls is just an (IDL)
boolean ping();
which is implemented in Java as
public boolean ping() {
return true;
}
If this method is called with server and client being on different
machines, I see sometimes the following lines on stdout of the server
side (the side that implements ping()):
19.06.2006 14:12:27
com.sun.corba.se.impl.trans****t.SocketOrChannelConnectionImpl readFully
WARNUNG: "IOP00410215: (COMM_FAILURE) Read of full message failed : bytes
requested = 1.012 bytes read = 700 max wait time = 3.000 total time spent
waiting
= 3.190"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 215 completed: No
at
com.sun.corba.se.impl.logging.ORBUtilSystemException.trans****tReadTimeoutExceeded(Unknown
Source)
at
com.sun.corba.se.impl.logging.ORBUtilSystemException.trans****tReadTimeoutExceeded(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.SocketOrChannelConnectionImpl.readFully(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.SocketOrChannelConnectionImpl.read(Unknown
Source)
at
com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPBody(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.CorbaContactInfoBase.finishCreatingMessageMediator(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.SocketOrChannelAcceptorImpl.finishCreatingMessageMediator(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.SocketOrChannelConnectionImpl.finishReadingBits(Unknown
Source)
at
com.sun.corba.se.impl.trans****t.SocketOrChannelConnectionImpl.doWork(Unknown
Source)
at
com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(Unknown
Source)
The client side blocks here completely. The network connection between
server and client is ideal: no switches etc. between them -- a direct
100 MBit connection. Testing the connection with standard tools shows
zero package loss.
The ORB used here is the SUN Orb tha comes with 1.5.0, the OS is Linux
on server and on client.
What is the cause of the problem and how it can be solved? Is the Sun
ORB really that bad or do I something wrong?
Ciao
Ole