Re: java.io.EOFException using LookupCache

Dan Creswell <[email protected]> Sat, 17 May 2008 10:31:42 +0100
Newsgroups gmane.comp.java.sun.jini
Message-ID <[email protected]>
Hi Dennis,

Which verion of Jini are you using?

Cheers,

Dan.

Dennis Brake wrote:
> I'm testing scalability on a number of machines by registering services 
> and then trying to discover them. I’ve seen similar problems for people 
> using JavaSpaces but I’m only using the JoinManager and the LookupCache.
> 
>  
> 
> I'm testing scalability on a number of machines by registering services 
> and then trying to discover them. I'm getting random errors like the 
> following:
> 
> INFO: Exception occurred during call to lookup
> java.rmi.UnmarshalException: exception unmarshalling response; nested 
> exception is:
> java.io.IOException: I/O error reading from mux connection: 
> java.io.EOFException
> at 
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:847)
> at 
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
> at 
> net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
> at com.sun.jini.reggie.$Proxy2.lookup(Unknown Source)
> at com.sun.jini.reggie.RegistrarProxy.lookup(RegistrarProxy.java:128)
> at 
> net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$LookupTask.run(ServiceDiscoveryManager.java:929)
> at 
> net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$RegisterListenerTask.run(ServiceDiscoveryManager.java:901)
> at com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:331)
> Caused by: java.io.IOException: I/O error reading from mux connection: 
> java.io.EOFException
> at 
> com.sun.jini.jeri.internal.mux.Session$MuxInputStream.read(Session.java:852)
> at 
> net.jini.jeri.connection.ConnectionManager$Outbound$Input.read(ConnectionManager.java:515)
> at 
> net.jini.jeri.BasicObjectEndpoint.executeCall(BasicObjectEndpoint.java:411)
> at 
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:806)
> ... 7 more
> 
> I can successfully run my examples using only 2 machines, however when I 
> scale up I get the errors. The setup where I see the errors is 50 
> machines and on each machine I run a JVM with 10 services. I have one 
> LUS running on a separate machine.
> 
> My code creates a service and uses the JoinManager to register it (this 
> part doesn't cause problems), then I create a LookupCache and listen for 
> new services. In almost all 50 JVMs I get some errors. I'm expecting to 
> discover 251 registrations (the extra one for the LUS) but I usually get 
> somewhere in the range of 180. Most of the action happens within the 
> first minute but my code waits for 5 minutes to complete the test.
> 
> I've tested the low level networking by creating a ServerSocket, 
> announcing its location using a MulticastSocket, and connecting to the 
> server using unicast. This was scaled to 140 machines and never gave me 
> a problem, each machine discover the others and was able to connect.
> 
> Has anyone else had this problem?
> 
> Thanks
> Dennis
> 
> -------------------------------------------------------------------------- 
> Getting Started: http://www.jini.org/wiki/Category:Getting_Started 
> Community Web Site: http://jini.org jini-users Archive: 
> http://archives.java.sun.com/archives/jini-users.html Unsubscribing: 
> email "signoff JINI-USERS" to [email protected]

--------------------------------------------------------------------------
Getting Started:     http://www.jini.org/wiki/Category:Getting_Started
Community Web Site:  http://jini.org
jini-users Archive:  http://archives.java.sun.com/archives/jini-users.html
Unsubscribing:       email "signoff JINI-USERS"  to [email protected]