[infinispan-issues] [JBoss JIRA] (ISPN-6883) Remote Cache Store does does't work properly in compatibility mode

Sebastian Łaskawiec (JIRA) issues at jboss.org
Fri Jul 22 01:31:00 EDT 2016


    [ https://issues.jboss.org/browse/ISPN-6883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269061#comment-13269061 ] 

Sebastian Łaskawiec edited comment on ISPN-6883 at 7/22/16 1:30 AM:
--------------------------------------------------------------------

Hey [~NadirX]! I assigned this one to you since you added most of the implementation to the Remote Cache Store. You will probably have an idea if this is a valid use case or not.



> Remote Cache Store does does't work properly in compatibility mode
> ------------------------------------------------------------------
>
>                 Key: ISPN-6883
>                 URL: https://issues.jboss.org/browse/ISPN-6883
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Loaders and Stores
>    Affects Versions: 9.0.0.Alpha3
>            Reporter: Sebastian Łaskawiec
>            Assignee: Tristan Tarrant
>
> Currently we can't use Remote Cache Store for Caches populated using REST with compatibility mode.
> The configuration for source cache looks like the following:
> {code}
> <distributed-cache name="default" mode="SYNC" segments="20" owners="2" remote-timeout="30000" start="EAGER">
>   <locking acquire-timeout="30000" concurrency-level="1000" striping="false"/>
>   <transaction mode="NONE"/>
>   <compatibility enabled="true" />
> </distributed-cache>
> {code}
> Destination cache:
> {code}
> <distributed-cache name="default" mode="SYNC" segments="20" owners="2" remote-timeout="30000" start="EAGER">
>   <locking acquire-timeout="30000" concurrency-level="1000" striping="false"/>
>   <transaction mode="NONE"/>
>   <compatibility enabled="true" />
>   <remote-store cache="default" hotrod-wrapping="true" read-only="true">
>     <remote-server outbound-socket-binding="remote-store-hotrod-server" />
>   </remote-store>
> </distributed-cache>
> {code}
> With the configuration above, when performing [Rolling Upgrade|http://infinispan.org/docs/stable/user_guide/user_guide.html#steps_2] procedure I get:
> {code}
> 03:38:43,025 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (nioEventLoopGroup-7-1) ISPN000136: Error executing command GetCacheEntryCommand, writing keys []: java.lang.ClassCastException: java.lang.String cannot be cast to [B
> 	at org.infinispan.persistence.remote.wrapper.HotRodEntryMarshaller.objectToByteBuffer(HotRodEntryMarshaller.java:28)
> 	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.obj2bytes(RemoteCacheImpl.java:494)
> 	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.getWithMetadata(RemoteCacheImpl.java:208)
> 	at org.infinispan.persistence.remote.RemoteStore.load(RemoteStore.java:109)
> 	at org.infinispan.persistence.manager.PersistenceManagerImpl.loadFromAllStores(PersistenceManagerImpl.java:455)
> 	at org.infinispan.persistence.PersistenceUtil.loadAndCheckExpiration(PersistenceUtil.java:113)
> 	at org.infinispan.persistence.PersistenceUtil.lambda$loadAndStoreInDataContainer$0(PersistenceUtil.java:98)
> 	at org.infinispan.container.DefaultDataContainer.lambda$compute$3(DefaultDataContainer.java:325)
> 	at org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8.compute(EquivalentConcurrentHashMapV8.java:1873)
> 	at org.infinispan.container.DefaultDataContainer.compute(DefaultDataContainer.java:324)
> 	at org.infinispan.persistence.PersistenceUtil.loadAndStoreInDataContainer(PersistenceUtil.java:91)
> 	at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadInContext(CacheLoaderInterceptor.java:352)
> 	at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:347)
> 	at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitDataCommand(CacheLoaderInterceptor.java:206)
> 	at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitGetCacheEntryCommand(CacheLoaderInterceptor.java:150)
> 	at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitGetCacheEntryCommand(CacheLoaderInterceptor.java:88)
> 	at org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:40)
> 	at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:53)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.invokeInterceptorsSync(BaseAsyncInvocationContext.java:314)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.forkInvocationSync(BaseAsyncInvocationContext.java:98)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.invokeForkAndHandlerSync(BaseAsyncInvocationContext.java:474)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.afterVisit(BaseAsyncInvocationContext.java:463)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.invokeInterceptorsSync(BaseAsyncInvocationContext.java:329)
> 	at org.infinispan.interceptors.impl.BaseAsyncInvocationContext.invokeSync(BaseAsyncInvocationContext.java:282)
> 	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:236)
> 	at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:433)
> 	at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:439)
> 	at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.getCacheEntry(AbstractDelegatingAdvancedCache.java:216)
> 	at org.infinispan.rest.RestCacheManager.getInternalEntry(RestCacheManager.scala:58)
> 	at org.infinispan.rest.Server$$anonfun$getEntry$1.apply(Server.scala:90)
> 	at org.infinispan.rest.Server$$anonfun$getEntry$1.apply(Server.scala:89)
> 	at org.infinispan.rest.Server.protectCacheNotFound(Server.scala:498)
> 	at org.infinispan.rest.Server.getEntry(Server.scala:89)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
> 	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
> 	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
> 	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
> 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
> 	at org.jboss.resteasy.plugins.server.netty.RequestDispatcher.service(RequestDispatcher.java:83)
> 	at org.jboss.resteasy.plugins.server.netty.RequestHandler.channelRead0(RequestHandler.java:53)
> 	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> 	at io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> 	at io.netty.channel.DefaultChannelHandlerInvoker$7.run(DefaultChannelHandlerInvoker.java:159)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
> 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:373)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> 	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> 	at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the infinispan-issues mailing list