]
Galder Zamarreño updated ISPN-3785:
-----------------------------------
Fix Version/s: 7.0.0.Beta1
7.0.0.Final
HotRod RemoteCache.keySet() results in server-side ClassCastException
on M/R task when using DIST Cache with compatibility-mode enabled.
----------------------------------------------------------------------------------------------------------------------------------------
Key: ISPN-3785
URL:
https://issues.jboss.org/browse/ISPN-3785
Project: Infinispan
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Core, Distributed Execution and Map/Reduce, Remote Protocols
Affects Versions: 6.0.0.Final
Environment: Mac OS-X 10.9, Oracle Hotspot 1.7.0_45
Reporter: Duncan Doyle
Assignee: Galder Zamarreño
Labels: compatibility, hotrod
Fix For: 7.0.0.Beta1, 7.0.0.Final
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