[
https://issues.jboss.org/browse/ISPN-997?page=com.atlassian.jira.plugin.s...
]
Dan Berindei edited comment on ISPN-997 at 3/28/11 6:37 AM:
------------------------------------------------------------
I ran your code and I got the same error on both nodes, not just NodeB.
You got the error because you're using the VARCHAR type for the data column, which is
not supported by JdbcStringBasedCacheStore. You should use BLOB (or an equivalent)
instead, as the data is stored as a binary stream and only the key is stored as a string.
I added some warnings against this to the javadocs.
was (Author: dan.berindei):
I ran your code and I got the same error on both nodes, not just NodeB.
I did some digging and using the VARCHAR type for the column is not actually supported by
JdbcStringBasedCacheStore. You should use BLOB (or an equivalent) instead.
I added some warnings against this to the javadocs.
getting java.io.IOException: Unsupported protocol version 48
------------------------------------------------------------
Key: ISPN-997
URL:
https://issues.jboss.org/browse/ISPN-997
Project: Infinispan
Issue Type: Bug
Components: Cache Server, Marshalling
Affects Versions: 4.2.0.Final
Environment: Red Hat 3.4.6-2
Reporter: Kavita Patil
Assignee: Dan Berindei
Attachments: Cache-config-file3.xml, EmbeddedCacheClusterNode1.java,
EmbeddedCacheClusterNode2.java
Hi,
I Have a 2 infinispan node cluster setup. I am facing problem when i try to access the
cache entries inserted in Node1 from Node2. I am using JDBC shared cacheloader. Exception
looks like below..
Reading the keys inserted in Node1
Mar 16, 2011 1:57:44 AM org.infinispan.loaders.jdbc.JdbcUtil unmarshall
SEVERE: I/O error while unmarshalling from stream
java.io.IOException: Unsupported protocol version 48
at
org.jboss.marshalling.river.RiverUnmarshaller.doStart(RiverUnmarshaller.java:1167)
at
org.jboss.marshalling.AbstractUnmarshaller.start(AbstractUnmarshaller.java:389)
at
org.infinispan.marshall.jboss.GenericJBossMarshaller.startObjectInput(GenericJBossMarshaller.java:169)
at
org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:155)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:112)
at
org.infinispan.marshall.AbstractStreamingMarshaller.objectFromInputStream(AbstractStreamingMarshaller.java:23)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.readStoredEntry(JdbcStringBasedCacheStore.java:371)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.loadLockSafe(JdbcStringBasedCacheStore.java:296)
at
org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:100)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:149)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:218)
at
org.infinispan.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:89)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:88)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:169)
at
org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:160)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:87)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:58)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:88)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
at org.infinispan.CacheDelegate.get(CacheDelegate.java:207)
at
com.hp.uup.cache.examples.EmbeddedCacheClusterNode2.main(EmbeddedCacheClusterNode2.java:58)
Mar 16, 2011 1:57:44 AM org.infinispan.interceptors.InvocationContextInterceptor
handleAll
SEVERE: Execution error:
org.infinispan.loaders.CacheLoaderException: I/O error while unmarshalling from stream
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:92)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.readStoredEntry(JdbcStringBasedCacheStore.java:371)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.loadLockSafe(JdbcStringBasedCacheStore.java:296)
at
org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:100)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:149)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:218)
at
org.infinispan.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:89)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:88)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:169)
at
org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:160)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:87)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:58)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:88)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:59)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
at org.infinispan.CacheDelegate.get(CacheDelegate.java:207)
at
com.hp.uup.cache.examples.EmbeddedCacheClusterNode2.main(EmbeddedCacheClusterNode2.java:58)
Caused by: java.io.IOException: Unsupported protocol version 48
Note: I am able to see the data inserted by both the nodes in DB.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira