Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-15292

Put operation fails on cache with remote-store configured with uri property

XMLWordPrintable

      I have a simple main application which created embedded cache with configuration provided in attached file `test.xml`.
      Starting server with configuration attached `infinispan.xml`. When the application tries to perform put operation on cache, the following exception is thrown:

      org.infinispan.commons.CacheException: No marshaller registered for object of Java type org.infinispan.marshall.persistence.impl.MarshalledValueImpl : MarshalledValueImpl{valueBytes=ByteBufferImpl{length=16, offset=0, bytes=9801028A010A0A08\J06\v\a\l\u\e\0 (16 bytes)}, metadataBytes=ByteBufferImpl{length=28, offset=0, bytes=9801058A011618FFFFFFFFFFFFFFFFFF01\ FFFFFFFFFFFFFFFFFF01 (28 bytes)}, internalMetadataBytes=null, created=-1, lastUsed=-1}
          at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException (InvocationContextInterceptor.java:139)
          at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0 (InvocationContextInterceptor.java:62)
          at org.infinispan.interceptors.InvocationExceptionFunction.apply (InvocationExceptionFunction.java:25)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers (QueueAsyncInvocationStage.java:124)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.apply (QueueAsyncInvocationStage.java:94)
          at org.infinispan.interceptors.ExceptionSyncInvocationStage.addCallback (ExceptionSyncInvocationStage.java:88)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers (QueueAsyncInvocationStage.java:132)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept (QueueAsyncInvocationStage.java:87)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept (QueueAsyncInvocationStage.java:33)
          at java.util.concurrent.CompletableFuture.uniWhenComplete (CompletableFuture.java:863)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire (CompletableFuture.java:841)
          at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:510)
          at java.util.concurrent.CompletableFuture.complete (CompletableFuture.java:2147)
          at org.infinispan.interceptors.impl.CacheLoaderInterceptor.finishLoadInContext (CacheLoaderInterceptor.java:363)
          at org.infinispan.interceptors.impl.CacheLoaderInterceptor.lambda$loadInContext$5 (CacheLoaderInterceptor.java:346)
          at java.util.concurrent.CompletableFuture.uniWhenComplete (CompletableFuture.java:863)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire (CompletableFuture.java:841)
          at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:510)
          at java.util.concurrent.CompletableFuture.postFire (CompletableFuture.java:614)
          at java.util.concurrent.CompletableFuture$UniApply.tryFire (CompletableFuture.java:653)
          at java.util.concurrent.CompletableFuture$Completion.run (CompletableFuture.java:482)
          at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
          at java.lang.Thread.run (Thread.java:833)
      Caused by: java.lang.IllegalArgumentException: No marshaller registered for object of Java type org.infinispan.marshall.persistence.impl.MarshalledValueImpl : MarshalledValueImpl{valueBytes=ByteBufferImpl{length=16, offset=0, bytes=9801028A010A0A08\J06\v\a\l\u\e\0 (16 bytes)}, metadataBytes=ByteBufferImpl{length=28, offset=0, bytes=9801058A011618FFFFFFFFFFFFFFFFFF01\ FFFFFFFFFFFFFFFFFF01 (28 bytes)}, internalMetadataBytes=null, created=-1, lastUsed=-1}
          at org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate (SerializationContextImpl.java:503)
          at org.infinispan.protostream.WrappedMessage.writeMessage (WrappedMessage.java:281)
          at org.infinispan.protostream.WrappedMessage.write (WrappedMessage.java:242)
          at org.infinispan.protostream.ProtobufUtil.toWrappedByteBuffer (ProtobufUtil.java:153)
          at org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller.objectToBuffer (ImmutableProtoStreamMarshaller.java:55)
          at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer (AbstractMarshaller.java:70)
          at org.infinispan.client.hotrod.marshall.MarshallerUtil.obj2bytes (MarshallerUtil.java:117)
          at org.infinispan.client.hotrod.DataFormat.valueToBytes (DataFormat.java:145)
          at org.infinispan.client.hotrod.impl.RemoteCacheImpl.valueToBytes (RemoteCacheImpl.java:609)
          at org.infinispan.client.hotrod.impl.RemoteCacheImpl.putAsync (RemoteCacheImpl.java:309)
          at org.infinispan.persistence.remote.RemoteStore.write (RemoteStore.java:370)
          at org.infinispan.persistence.manager.PersistenceManagerImpl.writeToAllNonTxStores (PersistenceManagerImpl.java:1031)
          at org.infinispan.interceptors.impl.CacheWriterInterceptor.storeEntry (CacheWriterInterceptor.java:465)
          at org.infinispan.interceptors.impl.CacheWriterInterceptor.storeEntry (CacheWriterInterceptor.java:456)
          at org.infinispan.interceptors.impl.CacheWriterInterceptor.lambda$visitDataWriteCommandToStore$15 (CacheWriterInterceptor.java:499)
          at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply (BaseAsyncInterceptor.java:86)
          at org.infinispan.interceptors.impl.CacheWriterInterceptor.visitDataWriteCommandToStore (CacheWriterInterceptor.java:492)
          at org.infinispan.interceptors.impl.CacheWriterInterceptor.visitPutKeyValueCommand (CacheWriterInterceptor.java:207)
          at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor (PutKeyValueCommand.java:65)
          at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext (BaseAsyncInterceptor.java:59)
          at org.infinispan.interceptors.BaseAsyncInterceptor.lambda$new$0 (BaseAsyncInterceptor.java:27)
          at org.infinispan.interceptors.InvocationSuccessFunction.apply (InvocationSuccessFunction.java:25)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers (QueueAsyncInvocationStage.java:124)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept (QueueAsyncInvocationStage.java:87)
          at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept (QueueAsyncInvocationStage.java:33)
          at java.util.concurrent.CompletableFuture.uniWhenComplete (CompletableFuture.java:863)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire (CompletableFuture.java:841)
          at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:510)
          at java.util.concurrent.CompletableFuture.complete (CompletableFuture.java:2147)
          at org.infinispan.interceptors.impl.CacheLoaderInterceptor.finishLoadInContext (CacheLoaderInterceptor.java:363)
          at org.infinispan.interceptors.impl.CacheLoaderInterceptor.lambda$loadInContext$5 (CacheLoaderInterceptor.java:346)
          at java.util.concurrent.CompletableFuture.uniWhenComplete (CompletableFuture.java:863)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire (CompletableFuture.java:841)
          at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:510)
          at java.util.concurrent.CompletableFuture.postFire (CompletableFuture.java:614)
          at java.util.concurrent.CompletableFuture$UniApply.tryFire (CompletableFuture.java:653)
          at java.util.concurrent.CompletableFuture$Completion.run (CompletableFuture.java:482)
          at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
          at java.lang.Thread.run (Thread.java:833)
      

      Please NOTE that exception is not thrown and put operation proceeds in case the same URI is provided over `uri` attribute on `remote-store` element.

        1. test.xml
          1 kB
        2. infinispan.xml
          2 kB

              remerson@redhat.com Ryan Emerson
              amanukya@redhat.com Anna Manukyan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: