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]