[
https://issues.jboss.org/browse/ISPN-1577?page=com.atlassian.jira.plugin....
]
Aleksandar Kostadinov commented on ISPN-1577:
---------------------------------------------
I think this [IRC
log|http://transcripts.jboss.org/channel/irc.freenode.org/%23infinispan/2...]
is the fix/workaround to my problem. Perhaps needs to go to documentation? Or can it be
fixed so the real type is passed to the mapper?
{code}2012-01-20T08:57:49 <Kosch> huh
2012-01-20T08:57:52 <Kosch> java.lang.ClassCastException:
org.infinispan.context.impl.NonTxInvocationContext cannot be cast to
org.infinispan.context.impl.TxInvocationContext
2012-01-20T09:00:31 <Kosch> mystic...
2012-01-20T09:02:43 <Kosch> ok, something completly different: I get an Unsupported
key type: 'org.infinispan.marshall.MarshalledValue' on key:
MarshalledValue{instance=<Key><Name>test cache twf1</Name></Key>,
serialized=false, cachedHashCode=270666905}@72b784
2012-01-20T09:02:51 <Kosch> at JdbcStringBasedCacheStore.java:216
2012-01-20T09:03:15 <Kosch> I've got configured my key2StringMapper (who
creates the xml)
2012-01-20T09:03:59 <Kosch> my question is: why its tried to restore a
org.infinispan.marshall.MarshalledValue?
2012-01-20T09:05:24 <Kosch> s/restore/store
2012-01-20T09:23:43 <galderz> Kosch, you need storeAsBinary or
lazyDeserialization?
2012-01-20T09:29:35 <Kosch> galderz: I set store key and value as binary.
2012-01-20T09:30:03 <galderz> Kosch, just wondering if you really need it
2012-01-20T09:30:14 <Kosch> galderz: hm.
2012-01-20T09:30:40 <Kosch> let me check again...
2012-01-20T09:31:31 <galderz> you need that when key/value need to be deserialized
with a different classloader to the one that JGroups has when it's gonna try to
deserialize key/value when received on the wire
2012-01-20T09:37:03 <Kosch> galderz: thats the only reason? Ok, then its indeed not
important for me.
2012-01-20T09:37:15 <galderz> Kosch, yup
2012-01-20T09:37:18 <Kosch> dberindei: ah, ok, thx :){code}
Using HotRod with CacheLoader which needs Key2StringMappers tries to
use a MarshalledValue as key
-------------------------------------------------------------------------------------------------
Key: ISPN-1577
URL:
https://issues.jboss.org/browse/ISPN-1577
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores, Remote protocols
Affects Versions: 5.1.0.BETA5
Reporter: Tristan Tarrant
Assignee: Galder ZamarreƱo
Priority: Minor
Trying to access a key in a cache via HotRod causes an UnsupportedKeyTypeException. This
is because the ByteArrayKey is wrapped by a MarshalledValue, and not unmarshalled before
the Key2StringMapper can check whether it is a supported type
The stack trace is as follows:
10:42:55,836 ERROR [org.infinispan.interceptors.InvocationContextInterceptor]
(HotRodServerWorker-2-10) ISPN000136: Execution error:
org.infinispan.loaders.keymappers.UnsupportedKeyTypeException: Unsupported key type:
'org.infinispan.marshall.MarshalledValue' on key:
MarshalledValue{instance=ByteArrayKey{data=ByteArray{size=8, hashCode=241dbc8b,
array=0x033e057465616d73..}}, serialized=false, cachedHashCode=-1429957546}@1c455c33
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:201)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:87)
at org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:127)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:130)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:192)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:89)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.EntryWrappingInterceptor.visitGetKeyValueCommand(EntryWrappingInterceptor.java:103)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:95)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:95)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.MarshalledValueInterceptor.visitGetKeyValueCommand(MarshalledValueInterceptor.java:191)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:192)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:187)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:95)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitGetKeyValueCommand(CacheMgmtInterceptor.java:84)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:95)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.IsMarshallableInterceptor.visitGetKeyValueCommand(IsMarshallableInterceptor.java:84)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:107)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:67)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:95)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:318)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at org.infinispan.CacheImpl.containsKey(CacheImpl.java:247)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at org.infinispan.CacheImpl.containsKey(CacheImpl.java:240)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at org.infinispan.AbstractDelegatingCache.containsKey(AbstractDelegatingCache.java:242)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
at org.infinispan.server.hotrod.Decoder10$.customReadKey(Decoder10.scala:197)
[infinispan-server-hotrod-5.1.0-SNAPSHOT.jar:]
at org.infinispan.server.hotrod.HotRodDecoder.customDecodeKey(HotRodDecoder.scala:151)
[infinispan-server-hotrod-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.server.core.AbstractProtocolDecoder.decodeKey(AbstractProtocolDecoder.scala:118)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:69)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:44)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.jboss.netty.handler.codec.replay.CustomReplayingDecoder.callDecode(CustomReplayingDecoder.java:250)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.jboss.netty.handler.codec.replay.CustomReplayingDecoder.messageReceived(CustomReplayingDecoder.java:223)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:351)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.5.Final.jar:]
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
[netty-3.2.5.Final.jar:]
at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.5.Final.jar:]
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.5.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_29]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_29]
--
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