[
http://jira.jboss.com/jira/browse/JBREM-945?page=comments#action_12405337 ]
Tim Fox commented on JBREM-945:
-------------------------------
I would question the classification of this as minor.
If some data is sent from the client to the server, and the server thread times out before
reading it, then the socket will get closed and the data will be lost.
If the call to send the data is one way then I believe this won't be notified to the
user. So the user may think the data has been sent ok but it hasn't.
I would say potential data loss makes this at least a major and probably a critical.
Allow ServerThread to keep running after SocketTImeoutException
---------------------------------------------------------------
Key: JBREM-945
URL:
http://jira.jboss.com/jira/browse/JBREM-945
Project: JBoss Remoting
Issue Type: Task
Security Level: Public(Everyone can see)
Affects Versions: 2.2.2.SP4
Reporter: Ron Sigal
Assigned To: Ron Sigal
Priority: Minor
Fix For: 2.2.2.SP7
Currently, org.jboss.remoting.transport.socket.ServerThread will close its socket and
return itself to the threadpool in the event of a SocketTimeoutException. However, it
could simply continue trying to read the next invocation. The javadoc for
java.net.Socket.setSoTimeout() states:
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. With this option
set to a non-zero timeout, a read() call on the InputStream associated with this Socket
will block for only this amount of time. If the timeout expires, a
java.net.SocketTimeoutException is raised, though the Socket is still valid.
If the timeout is due to transitory circumstances, then it would be much more efficient
to allow the ServerThread to continue, rather than forcing the client to start over with a
new socket.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira