[
https://issues.jboss.org/browse/JBREM-1316?page=com.atlassian.jira.plugin...
]
Shaun Appleton commented on JBREM-1316:
---------------------------------------
In certain circumstances MicroSocketClientInvoker can retry having already written all the
bytes of the request. This can result in a request happening twice.
if you have an exception while you create the socket or before you have written the last
byte of the request, it is ok to retry. If you keep failing, then it is ok to throw a
CannotConnectException.
But once you have written the last byte of the request, you must not retry anymore (unless
you would know again that the request is idempotent, but this type of information is not
available anymore). You should rethrow an exception other than CannotConnectException.
here is some pseudo code
ok = false
for 3 times {
try {
get socket
write all the bytes from the request except the last one
ok = true
} catch(Exception e) {
lastException = e
}
}
if(!ok) throw lastException
write last byte of request
read response
MicroSocketClientInvoker can could lead a remote ejb being sent data
twice to the same server
---------------------------------------------------------------------------------------------
Key: JBREM-1316
URL:
https://issues.jboss.org/browse/JBREM-1316
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.5.4.SP3
Reporter: Shaun Appleton
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira