[infinispan-issues] [JBoss JIRA] Issue Comment Edited: (ISPN-997) getting java.io.IOException: Unsupported protocol version 48
Dan Berindei (JIRA)
jira-events at lists.jboss.org
Mon Mar 28 06:37:38 EDT 2011
[ https://issues.jboss.org/browse/ISPN-997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12592096#comment-12592096 ]
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
More information about the infinispan-issues
mailing list