[infinispan-issues] [JBoss JIRA] (ISPN-9611) Error executing command PutMapCommand

Gustavo Fernandes (Jira) issues at jboss.org
Wed Nov 14 05:25:00 EST 2018


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

Gustavo Fernandes edited comment on ISPN-9611 at 11/14/18 5:24 AM:
-------------------------------------------------------------------

When the Hot Rod server starts, it pre-starts all the caches and they are stored internally in a Map for fast retrieval later.

When a cache is indexed, though, the LifecycleManager of the RemoteQuery module override the Cache's internal Wrapper to ProtobufWrapper (in the cacheStarted phase) so that the values can be indexed and queried. 

It can happen sometimes that the wrappen overriding happens after the Hot Rod server caches the instance, causing all the listeners added to this cache to see the wrong wrapper, causing the error above.


was (Author: gustavonalle):
When the Hot Rod server starts, it pre-starts all the caches and they are stored internally in a Map for fast retrieval later.

When a cache is indexed, though, the LifecycleManager of the RemoteQuery module override the Cache's internal Wrapper to ProtobufWrapper so that the values can be indexed and queried. 

It can happen sometimes that the wrappen overriding happens after the Hot Rod server caches the instance, causing all the listeners added to this cache to see the wrong wrapper, causing the error above.

> Error executing command PutMapCommand
> -------------------------------------
>
>                 Key: ISPN-9611
>                 URL: https://issues.jboss.org/browse/ISPN-9611
>             Project: Infinispan
>          Issue Type: Bug
>    Affects Versions: 9.4.1.Final
>            Reporter: Sergey Chernolyas
>            Assignee: Gustavo Fernandes
>            Priority: Major
>         Attachments: re_clustered_rocksdb.xml
>
>
> 2018-10-16 05:08:25,796 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (jgroups-1278,dr-opsdb01) ISPN000136: Error executing command PutMapCommand, writing keys [WrappedByteArray{bytes=[B0x4A2C313533393633..[46], hashCode=-2007549634}, WrappedByteArray{bytes=[B0x4A48313533393535..[74], hashCode=2140110757}, WrappedByteArray{bytes=[B0x4A45313533393535..[71], hashCode=638912872}, WrappedByteArray{bytes=[B0x4A45313533393535..[71], hashCode=1766679144}, WrappedByteArray{bytes=[B0x4A48313533393535..[74], hashCode=89290917}, WrappedByteArray{bytes=[B0x4A48313533393535..[74], hashCode=1108525477}]: org.infinispan.commons.dataconversion.EncodingException: ISPN000497: Unsupported content 'ProtobufValueWrapper(length=112, binary=[82 01 1E 72 75 2E 62 65 65 6C 69 6E 65 2E 72 65 2E 65 6E 74 69 74 69 65 73 2E 48 69 74 52 61 74 65 8A 01 4C 08 80 D1 83...])' during transcoding
> at org.infinispan.query.remote.impl.dataconversion.ProtostreamBinaryTranscoder.transcode(ProtostreamBinaryTranscoder.java:29)
> at org.infinispan.encoding.DataConversion.convertToRequestFormat(DataConversion.java:148)
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.convertValue(CacheNotifierImpl.java:1853)
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:1662)
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:1647)
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryModified(CacheNotifierImpl.java:421)
> at org.infinispan.notifications.cachelistener.NotifyHelper.entryCommitted(NotifyHelper.java:57)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:576)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:190)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:584)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:813)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.lambda$commitContextEntries$7(EntryWrappingInterceptor.java:570)
> at java.util.HashMap.forEach(HashMap.java:1288)
> at org.infinispan.context.impl.NonTxInvocationContext.forEachEntry(NonTxInvocationContext.java:63)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:569)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.applyChanges(EntryWrappingInterceptor.java:617)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.applyAndFixVersionForMany(EntryWrappingInterceptor.java:633)
> at org.infinispan.interceptors.InvocationSuccessAction.apply(InvocationSuccessAction.java:22)
> at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers(QueueAsyncInvocationStage.java:118)
> at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:81)
> at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:30)
> at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.infinispan.interceptors.distribution.CountDownCompletableFuture.countDown(CountDownCompletableFuture.java:23)
> at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.lambda$null$7(NonTxDistributionInterceptor.java:454)
> at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:67)
> at org.infinispan.remoting.transport.impl.SingleTargetRequest.receiveResponse(SingleTargetRequest.java:57)
> at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:35)
> at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:52)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1372)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1275)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:126)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1420)
> at org.jgroups.JChannel.up(JChannel.java:816)
> at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:133)
> at org.jgroups.stack.Protocol.up(Protocol.java:340)
> at org.jgroups.protocols.FORK.up(FORK.java:141)
> at org.jgroups.protocols.FRAG3.up(FRAG3.java:171)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:343)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:873)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:240)
> at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1003)
> at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:729)
> at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:384)
> at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:600)



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the infinispan-issues mailing list