[
https://issues.jboss.org/browse/ISPN-1099?page=com.atlassian.jira.plugin....
]
Galder Zamarreño commented on ISPN-1099:
----------------------------------------
Actually, this is really odd cos the server does encode the right error:
[JBoss] 00:32:02,734 TRACE [HotRodEncoder$] Encode msg ErrorResponse{messageId=0,
operation=ErrorResponse, status=InvalidMagicOrMsgId,
msg=org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or
message id: 255}
But the client ends up reading a message code 2421 ??? Coincidentaly, this message code
belongs to a message that had an error due to SuspectException being thrown a few seconds
later:
[JBoss] 00:29:57,547 TRACE [HotRodEncoder$] Encode msg ErrorResponse{messageId=2421,
operation=ErrorResponse, status=ServerError, msg=org.infinispan.CacheException:
java.util.concurrent.ExecutionException:
org.infinispan.remoting.transport.jgroups.SuspectException: Suspected member:
perf20-31186}
So I think something is not being left in the right state after this exception that then
results on the client reading something completely different because then you see the
server responding again for 2421!
[JBoss] 00:32:02,733 TRACE [HotRodEncoder$] Encode msg Response{messageId=2421,
operation=PutResponse, status=Success, cacheName=}
I might ask Trustin to give me a hand with this but before if the root cause is the
exception on put() operation, I might be able to replicate it.
Old message ID sent back when failure reading magic byte
--------------------------------------------------------
Key: ISPN-1099
URL:
https://issues.jboss.org/browse/ISPN-1099
Project: Infinispan
Issue Type: Bug
Components: Cache Server
Affects Versions: 4.2.1.FINAL, 5.0.0.CR1
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 4.2.2.BETA1, 4.2.2.FINAL, 5.0.0.CR2, 5.0.0.FINAL
If the server fails to read anything before the message id, for example when reading the
magic byte:
[JBoss] 00:32:02,733 TRACE [HotRodEncoder$] Encode msg Response{messageId=2421,
operation=PutResponse, status=Success, cacheName=}
...
[JBoss] org.infinispan.server.hotrod.HotRodException:
org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message
id: 255
The error response sent back will contain the previous message ID and the client
won't like it:
2011/04/29 00:32:02:733 EDT [WARN ][Runner - 0] HOST
perf01.mw.lab.eng.bos.redhat.com:rootProcess:E - Error sampling data:
<org.infinispan.client.hotrod.exceptions.InvalidResponseException:: Invalid message
id. Expected 2476 and received 2421>
I don't know however the root of the InvalidMagicIdException but in such situation
where the server did not get to read the message id, it will return 0 as message id and
the client needs to be able to deal w/ it accordingly.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira