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 the
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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...