geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trygve Hardersen" <try...@hardersen.net>
Subject Re: remote ejb scalability issue
Date Thu, 17 Apr 2008 20:42:37 GMT
On 17/04/2008, Trygve Hardersen <trygve@hardersen.net> wrote:
>
>
>
> On 17/04/2008, Kevan Miller <kevan.miller@gmail.com> wrote:
>
>
Hopefully, increasing MaxUserPorts (e.g. 65534) and decreasing
> > TcpTimedWaitDelay (e.g. 30)will fix your problem.
> >
> > If not, then I also recall a problem where Windows would assign the same
> > dynamic port address to 2 (or more) newly created sockets. It was then a
> > race to see which one would be activated first and the other one would get a
> > bind failure. Not sure there's anything we can do about that...
> >
> --kevan
> >
> >
> I'll do some tests on different platforms and settings and see what I
> find. Many thanks for your help!
>
> Trygve
>


Sweet, this solved the problem. I set MaxUserPorts to 20.000 and
TcpTimedWaitDelay to 30, and I'm able to run the 10.000 request BankClient
test with 10 concurrent threads without seeing the error.

I am however occationally seeing an error, both in single and multi threaded
mode:

javax.naming.NamingException: Cannot lookup '/BankManagerFacadeBeanRemote'.
[Root exception is java.rmi.RemoteException: Cannot read the response from
the server (OEJP/3.0) : null; nested exception is:
    java.io.EOFException]
    at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:240)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at
BankClientScalabilityTest$BankClientTest.call(BankClientScalabilityTest.java:104)
    at
BankClientScalabilityTest$BankClientTest.call(BankClientScalabilityTest.java:1)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.rmi.RemoteException: Cannot read the response from the
server (OEJP/3.0) : null; nested exception is:
    java.io.EOFException
    at org.apache.openejb.client.Client.processRequest(Client.java:172)
    at org.apache.openejb.client.Client.request(Client.java:42)
    at org.apache.openejb.client.JNDIContext.request(JNDIContext.java:87)
    at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:234)
    ... 8 more
Caused by: java.io.EOFException
    at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown
Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at
org.apache.openejb.client.EJBMetaDataImpl.readExternal(EJBMetaDataImpl.java:177)
    at java.io.ObjectInputStream.readExternalData(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at
org.apache.openejb.client.JNDIResponse.readExternal(JNDIResponse.java:79)
    at org.apache.openejb.client.Client.processRequest(Client.java:167)
    ... 11 more

It does not happen on every test, but sometimes (less than 0.01% of
requests). I can live with that.

Trygve

Mime
View raw message