hi,
sorry i haven't replied in a while.  i kind of got away from this for a bit.  
anyway, we certainly have a mix of code.  just fyi, we are using jboss 4.0.5.GA 
in production, so my changes are built on top of the remoting version in that 
release, which i believe is actually JBossRemoting 1.4.3.

to respond to your question about the leaky connections, i believe we have that 
fix:  that is the change which extends the "synchronized(this)" block up around 
the clientpool updates in ServerThread.run, correct?

in our application, we have a high number of relatively quick remote calls 
happening on ~60 threads in each client app server.  Since we had ~10 client 
servers running ~60 threads all banging on the same remote server, we easily 
hit the 300 thread maximum in the server thread pool.  this means that new 
requests to the server can cause "evict()" to be called on the clientpool (in 
SocketServerInvoker).  This eviction will cause a socket to be closed after an 
in-flight call ends.  On the client side, this will cause a pooled socket to be 
fine for one call, and then throw an EOFException the next time it is used.  
With the retry logic backported, it would seem highly unlikely that a single 
request would see 3 closed client sockets in a row (especially with the "flush" 
call before the last attempt).  However, when we fired up the system at full 
speed, we would see at least one of these complete failures per "job" (which 
could be ~100k remote calls to the remote server among all t!
 he client boxes).  

the flushConnectionPool() call on the last attempt was obviously an attempt to 
mitigate this problem, however it still does not gaurantee that the client will 
get a fresh connection on the next attempt, only makes it more likely.  
apparently, in our application, this was not a good enough effort as we still 
saw the issue (albeit infrequently).  When i implemented the changes included 
in the patch, however, this problem stopped occurring at all.  

It seems clear, though, that this patch would be more appropriate for the 2.0 
code base, not the 1.4.x code base (unless there is more backporting planned).

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111743#4111743

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111743

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to