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

RemoteStoreTest fails consistently when more segments are added

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • None
    • Loaders and Stores
    • None

      When upping the BaseNonBlockingStoreTest segments from 4 to 140 the test will fail every time. It seems the issue is that iteration with the RemoteStore identifies the key as the wrong segment causing an issue.

      Internally the key is stored under segment 67, but the client thinks it maps to segment 55 which was not requested and gets an error saying segment 55 was already completed.

      This seems to be caused by the segment calculation from the key not taking into account that the entry is stored using a wrapped MarshallableUserObject. The key is a simple String though and probably shouldn't need wrapping.

      https://ci.infinispan.org/blue/organizations/jenkins/Infinispan/detail/PR-10630/3/tests/

      Error
      Segment 55 already completed
      Stacktrace
      java.lang.IllegalStateException: Segment 55 already completed
      	at org.infinispan.client.hotrod.impl.iteration.SegmentKeyTracker.track(SegmentKeyTracker.java:47)
      	at org.infinispan.client.hotrod.impl.operations.IterationNextOperation.acceptResponse(IterationNextOperation.java:114)
      	at org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder.decode(HeaderDecoder.java:145)
      	at org.infinispan.client.hotrod.impl.transport.netty.HintedReplayingDecoder.callDecode(HintedReplayingDecoder.java:94)
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
      	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
      	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)
      	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      	at java.base/java.lang.Thread.run(Thread.java:833)
      	Suppressed: org.infinispan.commons.util.logging.TraceException
      		at org.infinispan.client.hotrod.impl.iteration.RemoteInnerPublisherHandler.handleThrowableInResponse(RemoteInnerPublisherHandler.java:129)
      		at org.infinispan.client.hotrod.impl.iteration.RemoteInnerPublisherHandler.handleThrowableInResponse(RemoteInnerPublisherHandler.java:23)
      		at org.infinispan.commons.reactive.AbstractAsyncPublisherHandler$ResponseConsumer.accept(AbstractAsyncPublisherHandler.java:186)
      		at org.infinispan.commons.reactive.AbstractAsyncPublisherHandler$ResponseConsumer.accept(AbstractAsyncPublisherHandler.java:182)
      		at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
      		at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
      		at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
      		at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
      		at org.infinispan.client.hotrod.impl.operations.HotRodOperation.completeExceptionally(HotRodOperation.java:164)
      		at org.infinispan.client.hotrod.impl.operations.HotRodOperation.exceptionCaught(HotRodOperation.java:111)
      		at org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder.exceptionCaught(HeaderDecoder.java:203)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:447)
      		... 18 more
      

              Unassigned Unassigned
              wburns@redhat.com Will Burns
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: