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

Startup might be blocked by statistic requests

XMLWordPrintable

      Startup hangs if there are several caches configured with persistence.

      From the stacktrace it seems not related to the persistence store, but it might force the race condition.
      It seems related to console or REST access request statistics.
      The request will hit a cache during initialization.

      The thread dump shows the following blocked thread:

      "non-blocking-thread--p2-t5" #37 daemon prio=5 os_prio=0 cpu=11.57ms elapsed=177.14s tid=0x0000560068988f00 nid=0x1f51c waiting on condition  [0x00007f4c1b7fd000]
         java.lang.Thread.State: TIMED_WAITING (parking)
          at jdk.internal.misc.Unsafe.park(java.base@17.0.5/Native Method)
          - parking to wait for  <0x00000000e830eaa8> (a java.util.concurrent.CompletableFuture$Signaller)
          at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.5/LockSupport.java:252)
          at java.util.concurrent.CompletableFuture$Signaller.block(java.base@17.0.5/CompletableFuture.java:1866)
          at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.5/ForkJoinPool.java:3463)
          at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.5/ForkJoinPool.java:3434)
          at java.util.concurrent.CompletableFuture.timedGet(java.base@17.0.5/CompletableFuture.java:1939)
          at java.util.concurrent.CompletableFuture.get(java.base@17.0.5/CompletableFuture.java:2095)
          at org.infinispan.util.concurrent.CompletableFutures.await(CompletableFutures.java:126)
          at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:83)
          at org.infinispan.interceptors.impl.CacheMgmtInterceptor.getApproximateEntriesUnique(CacheMgmtInterceptor.java:753)
          at org.infinispan.stats.impl.StatsImpl.<init>(StatsImpl.java:106)
          at org.infinispan.stats.impl.StatsImpl.create(StatsImpl.java:72)
          at org.infinispan.cache.impl.CacheImpl.getStats(CacheImpl.java:1281)
          at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.getStats(AbstractDelegatingAdvancedCache.java:275)
          at org.infinispan.stats.impl.CacheContainerStatsImpl.getEnabledStats(CacheContainerStatsImpl.java:684)
          at org.infinispan.stats.impl.CacheContainerStatsImpl.getNumberOfEntries(CacheContainerStatsImpl.java:388)
          at org.infinispan.stats.impl.CacheContainerStatsImpl.toJson(CacheContainerStatsImpl.java:697)
          at org.infinispan.rest.resources.ContainerResource.getStats(ContainerResource.java:217)
          at org.infinispan.rest.resources.ContainerResource$$Lambda$1179/0x00000008012e9f58.apply(Unknown Source)
          at org.infinispan.security.Security.doAs(Security.java:117)
          at org.infinispan.rest.framework.impl.RestDispatcherImpl.dispatch(RestDispatcherImpl.java:83)
          at org.infinispan.rest.RestRequestHandler.handleRestRequest(RestRequestHandler.java:141)
          at org.infinispan.rest.RestRequestHandler.lambda$channelRead0$0(RestRequestHandler.java:120)
          at org.infinispan.rest.RestRequestHandler$$Lambda$1323/0x0000000801383698.accept(Unknown Source)
          at java.util.concurrent.CompletableFuture.uniWhenComplete(java.base@17.0.5/CompletableFuture.java:863)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(java.base@17.0.5/CompletableFuture.java:841)
          at java.util.concurrent.CompletableFuture.postComplete(java.base@17.0.5/CompletableFuture.java:510)
          at java.util.concurrent.CompletableFuture.postFire(java.base@17.0.5/CompletableFuture.java:614)
          at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(java.base@17.0.5/CompletableFuture.java:844)
          at java.util.concurrent.CompletableFuture$Completion.run(java.base@17.0.5/CompletableFuture.java:482)
          at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
          at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
          at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
          at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
          at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
          at java.lang.Thread.run(java.base@17.0.5/Thread.java:833)

         Locked ownable synchronizers:
          - None

       

       

       

              rh-ee-jbolina Jose Bolina
              rhn-support-wfink Wolf Fink
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: