]
Galder Zamarreño reassigned ISPN-3218:
--------------------------------------
Assignee: Galder Zamarreño (was: Tristan Tarrant)
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.Final
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... (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: