[infinispan-issues] [JBoss JIRA] Commented: (ISPN-1099) Old message ID sent back when failure reading magic byte
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Thu May 12 10:56:31 EDT 2011
[ https://issues.jboss.org/browse/ISPN-1099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12601693#comment-12601693 ]
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
More information about the infinispan-issues
mailing list