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

IndexedTests can fail on clear due to blocking call

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 14.0.20.Final, 15.0.0.Dev05
    • None
    • None
    • None

      It seems that there are some test failures that are related to this, such as IndexedRestSearchTest or NonSharedIndexSearchTest.

      The BlockHound may raise an exception, aborting the execution of the massindexing, from the client we see only the timeout exception.

      The idea was to allow this blocking execution, because both the duration and the frequency of this operation are very limited.

      Blocking stack is the following:

      java.lang.AssertionError: Blocking call! jdk.internal.misc.Unsafe#park on thread Thread[non-blocking-thread-NonSharedIndexSearchTest-NodeC-p387-t1,5,ISPN-non-blocking-thread-group] at org.infinispan.util.CoreTestBlockHoundIntegration.lambda$applyTo$0(CoreTestBlockHoundIntegration.java:55) 
      at reactor.blockhound.BlockHound$Builder.lambda$install$8(BlockHound.java:427) 
      at reactor.blockhound.BlockHoundRuntime.checkBlocking(BlockHoundRuntime.java:89) 
      at java.base/jdk.internal.misc.Unsafe.park(Unsafe.java) 
      at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211) 
      at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715) 
      at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:938) at java.base/java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153) at java.base/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322) 
      at io.reactivex.rxjava3.internal.operators.flowable.BlockingFlowableIterable$BlockingFlowableIterator.signalConsumer(BlockingFlowableIterable.java:163) 
      at io.reactivex.rxjava3.internal.operators.flowable.BlockingFlowableIterable$BlockingFlowableIterator.onNext(BlockingFlowableIterable.java:145) 
      at io.reactivex.rxjava3.internal.operators.flowable.FlowableOnErrorNext$OnErrorNextSubscriber.onNext(FlowableOnErrorNext.java:76) 
      at io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapSingle$ConcatMapSingleSubscriber.drain(FlowableConcatMapSingle.java:233) 
      at io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapSingle$ConcatMapSingleSubscriber.innerSuccess(FlowableConcatMapSingle.java:129)
       at io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapSingle$ConcatMapSingleSubscriber$ConcatMapSingleObserver.onSuccess(FlowableConcatMapSingle.java:271) 
      at io.reactivex.rxjava3.internal.jdk8.SingleFromCompletionStage$CompletionStageHandler.accept(SingleFromCompletionStage.java:66) 
      at io.reactivex.rxjava3.internal.jdk8.SingleFromCompletionStage$CompletionStageHandler.accept(SingleFromCompletionStage.java:48) 
      at io.reactivex.rxjava3.internal.jdk8.FlowableFromCompletionStage$BiConsumerAtomicReference.accept(FlowableFromCompletionStage.java:91) 
      at io.reactivex.rxjava3.internal.jdk8.FlowableFromCompletionStage$BiConsumerAtomicReference.accept(FlowableFromCompletionStage.java:82) 
      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.postFire(CompletableFuture.java:614) 
      at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:844) 
      at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) 
      at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) 
      at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
       at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:403) 
      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.lang.Thread.run(Thread.java:833)
      

            wburns@redhat.com Will Burns
            fercoli@redhat.com Fabio Massimo Ercoli
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: