0 Replies Latest reply on Jul 22, 2015 12:30 PM by lucianom86

    ClassCastException: Iterator returning instance of MarshalledValue instead of real object

    lucianom86

      Hi all,

       

       

      We have a few applications using Infinispan 7.1.1 and when we iterate over the values of the cache, we sometimes are getting a ClassCastException:

       

      org.infinispan.marshall.core.MarshalledValue cannot be cast to org.apache.solr.common.SolrInputDocument (this is the type of object we're storing as the value of the cache)

       

      This happens in just a few occasions, most of the times everything works as expected. I added a log message to print out the key and value of the entry before getting the exception and here what I got in case of error:

       

      2015-07-22 16:49:37,009 INFO Analyzing the key 1437580176892 and value MarshalledValue{serialized=[B0x0301fe0409000000..[3136]}@3057898

       

      When we get no error, the message is:

       

      2015-07-22 16:49:43,200 INFO Analyzing the key 1437580163898 and value SolrInputDocument(fields: ..)

       

      This cache is replicated sync among 2 nodes, but the process of iterating over the cache just happens in a single node.

       

      We're using the storeAsBinary() as follows:

       

      configurationBuilder.storeAsBinary().enable().storeKeysAsBinary(false).storeValuesAsBinary(true);

       

       

      Any idea of what may be causing this issue?

       

       

      Thanks in advance,

      Luciano