[infinispan-issues] [JBoss JIRA] (ISPN-3218) TypeConverterInterceptor throwing ClassCastException in distributed compatibility mode
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Thu Jun 13 04:33:55 EDT 2013
[ https://issues.jboss.org/browse/ISPN-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Galder Zamarreño updated ISPN-3218:
-----------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/1897
> TypeConverterInterceptor throwing ClassCastException in distributed compatibility mode
> --------------------------------------------------------------------------------------
>
> Key: ISPN-3218
> URL: https://issues.jboss.org/browse/ISPN-3218
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 5.3.0.CR1
> Reporter: Martin Gencur
> Assignee: Galder Zamarreño
> Priority: Critical
> Fix For: 5.3.0.CR2
>
> Attachments: standalone-compatibility-mode.xml
>
>
> The following test fails for the server in DIST mode when in compatibility mode. It does not happen in normal DIST mode:
> {code:java}
> @Test
> public void testHotRodPutRestGetTest() throws Exception {
> final String key = "1";
> // 1. Put with Hot Rod
> RemoteCache<String, byte[]> remote = getHotRodCache();
> assertEquals(null, remote.withFlags(Flag.FORCE_RETURN_VALUE).put(key, "v1".getBytes()));
> //^^^^this put operation fails
> assertArrayEquals("v1".getBytes(), remote.get(key));
> // 2. Get with REST
> HttpMethod get = new GetMethod(getRestUrl() + "/" + key);
> getRestClient().executeMethod(get);
> assertEquals(HttpServletResponse.SC_OK, get.getStatusCode());
> assertEquals("v1".getBytes(), get.getResponseBody());
> }
> {code}
> ISPN version: 890f749 - Pedro Ruivo, 6 days ago : ISPN-2836 org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
> ISPN server version: cb6ef3a - Tristan Tarrant, 5 days ago : ISPN-3207 Add a top-level README
> Stacktrace:
> {code}
> 18:20:17,356 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (remote-thread-0) ISPN000136: Execution error: java.lang.ClassCastException: java.lang.String cannot be cast to [B
> at org.infinispan.server.hotrod.HotRodTypeConverter.boxKey(HotRodTypeConverter.scala:37) [infinispan-server-hotrod-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.compat.TypeConverterInterceptor.visitPutKeyValueCommand(TypeConverterInterceptor.java:71) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommand(BaseRpcInvokingCommand.java:61) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.remote.SingleRpcCommand.perform(SingleRpcCommand.java:70) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:122) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl.access$000(InboundInvocationHandlerImpl.java:68) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl$2.run(InboundInvocationHandlerImpl.java:194) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_43]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_43]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_43]
> ...
> 18:20:17,381 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-4) ISPN000136: Execution error: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from node0/clustered, see cause for remote stack trace
> at org.infinispan.remoting.transport.AbstractTransport.checkResponse(AbstractTransport.java:70) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:382) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:189) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:531) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:303) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.handleNonTxWriteCommand(BaseDistributionInterceptor.java:158) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.visitPutKeyValueCommand(NonTxDistributionInterceptor.java:91) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:290) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:157) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:68) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:216) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:194) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:136) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:133) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.compat.TypeConverterInterceptor.visitPutKeyValueCommand(TypeConverterInterceptor.java:73) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1337) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.CacheImpl.putInternal(CacheImpl.java:898) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.CacheImpl.put(CacheImpl.java:890) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.DecoratedCache.put(DecoratedCache.java:489) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.AbstractDelegatingAdvancedCache.put(AbstractDelegatingAdvancedCache.java:208) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.server.core.AbstractProtocolDecoder.put(AbstractProtocolDecoder.scala:203) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.server.core.AbstractProtocolDecoder.decodeValue(AbstractProtocolDecoder.scala:160) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:75) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:49) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) [netty-3.6.5.Final.jar:]
> at org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:394) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.6.5.Final.jar:]
> at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [netty-3.6.5.Final.jar:]
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_43]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_43]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_43]
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to [B
> at org.infinispan.server.hotrod.HotRodTypeConverter.boxKey(HotRodTypeConverter.scala:37) [infinispan-server-hotrod-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.compat.TypeConverterInterceptor.visitPutKeyValueCommand(TypeConverterInterceptor.java:71) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommand(BaseRpcInvokingCommand.java:61) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.commands.remote.SingleRpcCommand.perform(SingleRpcCommand.java:70) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:122) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl.access$000(InboundInvocationHandlerImpl.java:68) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> at org.infinispan.remoting.InboundInvocationHandlerImpl$2.run(InboundInvocationHandlerImpl.java:194) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> ... 3 more
> {code}
> The branch with the test can be found at https://github.com/mgencur/infinispan-server/tree/ISPN-3176/compatibility_tests (run it with "mvn clean verify")
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list