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

Binary storage and indexing has issues

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Major
    • None
    • None
    • Indexing, Marshalling, Server
    • None

    Description

      When adding some tests for ISPN-11079 I found that BINARY storage has some issues when indexing is enabled.

      My setup method would always received

      ava.util.concurrent.CompletionException: org.infinispan.commons.CacheException: java.io.IOException: Unknown type: 74
      	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
      	at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:670)
      	at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)
      	at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2094)
      	at org.infinispan.cache.impl.EncoderCache.putAsync(EncoderCache.java:459)
      	at org.infinispan.server.hotrod.CacheRequestProcessor.putInternal(CacheRequestProcessor.java:191)
      	at org.infinispan.server.hotrod.CacheRequestProcessor.lambda$put$6(CacheRequestProcessor.java:184)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: org.infinispan.commons.CacheException: java.io.IOException: Unknown type: 74
      	at org.infinispan.commons.dataconversion.BinaryEncoder.fromStorage(BinaryEncoder.java:39)
      	at org.infinispan.encoding.DataConversion.extractIndexable(DataConversion.java:226)
      	at org.infinispan.query.backend.QueryInterceptor.extractKey(QueryInterceptor.java:401)
      	at org.infinispan.query.backend.QueryInterceptor.keyToString(QueryInterceptor.java:409)
      	at org.infinispan.query.backend.QueryInterceptor.updateIndexes(QueryInterceptor.java:371)
      	at org.infinispan.query.backend.QueryInterceptor.processChange(QueryInterceptor.java:454)
      	at org.infinispan.query.backend.QueryInterceptor.lambda$handleDataWriteCommand$0(QueryInterceptor.java:188)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:110)
      	at org.infinispan.query.backend.QueryInterceptor.handleDataWriteCommand(QueryInterceptor.java:182)
      	at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:246)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:79)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:699)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:315)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:155)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lambda$nonTxLockAndInvokeNext$3(AbstractLockingInterceptor.java:308)
      	at org.infinispan.interceptors.SyncInvocationStage.andHandle(SyncInvocationStage.java:69)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.nonTxLockAndInvokeNext(AbstractLockingInterceptor.java:303)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:128)
      	at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:246)
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:210)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:59)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
      	at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:226)
      	at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeededAsync(CacheImpl.java:1844)
      	at org.infinispan.cache.impl.CacheImpl.putAsync(CacheImpl.java:1485)
      	at org.infinispan.cache.impl.DecoratedCache.putAsync(DecoratedCache.java:680)
      	at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.putAsync(AbstractDelegatingAdvancedCache.java:343)
      	... 7 more
      Caused by: java.io.IOException: Unknown type: 74
      	at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:721)
      	at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:358)
      	at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:192)
      	at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:188)
      	at org.infinispan.commons.dataconversion.BinaryEncoder.fromStorage(BinaryEncoder.java:37)
      	... 44 more
      

      My guess is something with wrapping or encoding is mixed up somewhere. The tests will be disabled, but available on ISPN-11024

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              wburns@redhat.com Will Burns
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: