Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-3785

HotRod RemoteCache.keySet() results in server-side ClassCastException on M/R task when using DIST Cache with compatibility-mode enabled.

    XMLWordPrintable

Details

    • Hide
      • Create a DIST Cache with <compatibility enabled="true"/>.
      • Store a number of entries in the cache using HotRod client.
      • Call RemoteCache.keySet();
      • Result is a ClassCastException.
      Show
      Create a DIST Cache with <compatibility enabled="true"/>. Store a number of entries in the cache using HotRod client. Call RemoteCache.keySet(); Result is a ClassCastException.

    Description

      When doing a HotRod RemoteCache.keySet(); call on a DIST Cache with <compatibility enabled="true"/>, the BulkUtil.getAllKeys() M/R task on the server-side will throw a ClassCastException:

      10:44:13,965 ERROR [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) ISPN005009: Unexpected error before any request parameters read: org.infinispan.commons.CacheException: java.util.concurrent.ExecutionException: java.lang.ClassCastException: java.lang.String cannot be cast to [B
      at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:360) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:634) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.hotrod.util.BulkUtil.getAllKeys(BulkUtil.java:36) [infinispan-server-hotrod-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.hotrod.AbstractEncoder1x.writeResponse(AbstractEncoder1x.scala:111) [infinispan-server-hotrod-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:47) [infinispan-server-hotrod-6.0.0.Final.jar:6.0.0.Final]
      at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.write(Channels.java:704) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.write(Channels.java:671) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248) [netty-3.6.6.Final.jar:]
      at org.infinispan.server.core.AbstractProtocolDecoder.writeResponse(AbstractProtocolDecoder.scala:163) [infinispan-server-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.hotrod.HotRodDecoder.customDecodeKey(HotRodDecoder.scala:138) [infinispan-server-hotrod-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.core.AbstractProtocolDecoder.decodeKey(AbstractProtocolDecoder.scala:105) [infinispan-server-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:53) [infinispan-server-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:29) [infinispan-server-core-6.0.0.Final.jar:6.0.0.Final]
      at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) [netty-3.6.6.Final.jar:]
      at org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:377) [infinispan-server-core-6.0.0.Final.jar:6.0.0.Final]
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.6.6.Final.jar:]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
      at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
      Caused by: java.util.concurrent.ExecutionException: java.lang.ClassCastException: java.lang.String cannot be cast to [B
      at java.util.concurrent.FutureTask.report(FutureTask.java:122) [rt.jar:1.7.0_45]
      at java.util.concurrent.FutureTask.get(FutureTask.java:188) [rt.jar:1.7.0_45]
      at org.infinispan.distexec.mapreduce.MapReduceTask$TaskPart.get(MapReduceTask.java:845) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask.executeMapPhaseWithLocalReduction(MapReduceTask.java:492) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:358) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      ... 27 more
      Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to [B
      at org.infinispan.server.hotrod.util.BulkUtil$KeyMapper.map(BulkUtil.java:40) [infinispan-server-hotrod-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceManagerImpl.map(MapReduceManagerImpl.java:181) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceManagerImpl.mapAndCombineForLocalReduction(MapReduceManagerImpl.java:89) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart.invokeMapCombineLocallyForLocalReduction(MapReduceTask.java:955) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart.access$300(MapReduceTask.java:894) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart$2.call(MapReduceTask.java:926) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at org.infinispan.distexec.mapreduce.MapReduceTask$MapTaskPart$2.call(MapReduceTask.java:922) [infinispan-core-6.0.0.Final.jar:6.0.0.Final]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
      ... 3 more

      Attachments

        Issue Links

          Activity

            People

              rh-ee-galder Galder ZamarreƱo
              rhn-gps-ddoyle Duncan Doyle (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: