[infinispan-issues] [JBoss JIRA] (ISPN-4467) keySet operation via HotRod in compatibility mode throws ClassCastException

Martin Gencur (JIRA) issues at jboss.org
Tue Jul 1 09:58:25 EDT 2014


Martin Gencur created ISPN-4467:
-----------------------------------

             Summary: keySet operation via HotRod in compatibility mode throws ClassCastException
                 Key: ISPN-4467
                 URL: https://issues.jboss.org/browse/ISPN-4467
             Project: Infinispan
          Issue Type: Bug
      Security Level: Public (Everyone can see)
            Reporter: Martin Gencur
            Assignee: Martin Gencur


The HotRod client's keySet() operation throws ClassCastException due to the following reason:
When Encoder2x.scala in its writeResponse() method decodes the operation as BulkGetKeysResponse, it runs a Map/Reduce job that returns a set of keys in the whole cluster.
The operation returns a set of "unmarshalled" (cos we're in compatibility mode) entries. However, Scala infers the type of individual entries as "Bytes" which is an alias for Array[Byte]. 

As a result, when this iterator from this key set is retrieved, it is not possible to iterate through the entries because Scala automatically tries to convert each (unmarshalled) entry into a byte array, which results in the exception.
This line results in throwing CCE:
https://github.com/infinispan/infinispan/blob/master/server/hotrod/src/main/scala/org/infinispan/server/hotrod/Encoder2x.scala#L231

 



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the infinispan-issues mailing list