Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-14805 Use a Netty based TCP for JGroups
  3. ISPN-14814

ServerEventLogger blocks when creating a cache

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

XMLWordPrintable

      The ServerEventLogger creates a cache to log messages. This inherently blocking. This has been okay so far as JGroups and main threads will start the cache, but as JGroups threads can now be netty threads this is no longer acceptable so we need to make this non blocking.

      "non-blocking-thread--p2-t8" #29 daemon prio=5 os_prio=0 cpu=9.35ms elapsed=5.57s tid=0x000055d8df87a630 nid=0x6737 waiting on condition  [0x00007f170ecd9000]
      
         java.lang.Thread.State: WAITING (parking)
      	at jdk.internal.misc.Unsafe.park(java.base@17.0.6/Native Method)
      	- parking to wait for  <0x00000000e221c838> (a java.util.concurrent.CompletableFuture$Signaller)
      	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.6/LockSupport.java:211)
      	at java.util.concurrent.CompletableFuture$Signaller.block(java.base@17.0.6/CompletableFuture.java:1864)
      	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.6/ForkJoinPool.java:3463)
      	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.6/ForkJoinPool.java:3434)
      	at java.util.concurrent.CompletableFuture.waitingGet(java.base@17.0.6/CompletableFuture.java:1898)
      	at java.util.concurrent.CompletableFuture.join(java.base@17.0.6/CompletableFuture.java:2117)
      	at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:548)
      	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:522)
      	at org.infinispan.server.logging.events.ServerEventLogger.getEventCache(ServerEventLogger.java:59)
      	at org.infinispan.server.logging.events.ServerEventLogger.eventLog(ServerEventLogger.java:75)
      	at org.infinispan.server.logging.events.DecoratedServerEventLogger.log(DecoratedServerEventLogger.java:29)
      	at org.infinispan.util.logging.events.EventLogger.info(EventLogger.java:41)
      	at org.infinispan.topology.EventLoggerViewListener.lambda$logNodeJoined$2(EventLoggerViewListener.java:44)
      	at org.infinispan.topology.EventLoggerViewListener$$Lambda$983/0x0000000801178880.accept(Unknown Source)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(java.base@17.0.6/ForEachOps.java:183)
      	at java.util.stream.ReferencePipeline$2$1.accept(java.base@17.0.6/ReferencePipeline.java:179)
      	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(java.base@17.0.6/ArrayList.java:1625)
      	at java.util.stream.AbstractPipeline.copyInto(java.base@17.0.6/AbstractPipeline.java:509)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@17.0.6/AbstractPipeline.java:499)
      	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(java.base@17.0.6/ForEachOps.java:150)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(java.base@17.0.6/ForEachOps.java:173)
      	at java.util.stream.AbstractPipeline.evaluate(java.base@17.0.6/AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.forEach(java.base@17.0.6/ReferencePipeline.java:596)
      	at org.infinispan.topology.EventLoggerViewListener.logNodeJoined(EventLoggerViewListener.java:44)
      	at org.infinispan.topology.EventLoggerViewListener.handleViewChange(EventLoggerViewListener.java:36)
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.6/Native Method)
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.6/NativeMethodAccessorImpl.java:77)
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.6/DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(java.base@17.0.6/Method.java:568)
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.lambda$invoke$1(AbstractListenerImpl.java:427)
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$$Lambda$981/0x0000000801178200.get(Unknown Source)
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:453)
      	at org.infinispan.notifications.impl.AbstractListenerImpl.invokeListener(AbstractListenerImpl.java:354)
      	at org.infinispan.notifications.impl.AbstractListenerImpl.invokeListeners(AbstractListenerImpl.java:344)
      	at org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl.notifyViewChange(CacheManagerNotifierImpl.java:95)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.receiveClusterView(JGroupsTransport.java:878)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1723)
      	at org.jgroups.JChannel.up(JChannel.java:719)
      	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:919)
      	at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:677)
      	- locked <0x00000000e224a3b8> (a org.jgroups.protocols.pbcast.GMS)
      	at org.jgroups.protocols.pbcast.ServerGmsImpl.handleViewChange(ServerGmsImpl.java:66)
      	at org.jgroups.protocols.pbcast.GMS.castViewChangeAndSendJoinRsps(GMS.java:554)
      	at org.jgroups.protocols.pbcast.CoordGmsImpl.handleMembershipChange(CoordGmsImpl.java:195)
      	at org.jgroups.protocols.pbcast.GMS.process(GMS.java:1272)
      	at org.jgroups.protocols.pbcast.GMS$$Lambda$637/0x00000008010d7db0.accept(Unknown Source)
      	at org.jgroups.protocols.pbcast.ViewHandler.removeAndProcess(ViewHandler.java:284)
      	at org.jgroups.protocols.pbcast.ViewHandler.process(ViewHandler.java:248)
      	at org.jgroups.protocols.pbcast.ViewHandler.add(ViewHandler.java:64)
      	at org.jgroups.protocols.pbcast.GMS.handle(GMS.java:944)
      	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:846)
      	at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:679)
      	at org.jgroups.protocols.VERIFY_SUSPECT2.up(VERIFY_SUSPECT2.java:105)
      	at org.jgroups.protocols.FailureDetection.up(FailureDetection.java:180)
      	at org.jgroups.protocols.MERGE3.up(MERGE3.java:274)
      	at org.jgroups.protocols.Discovery.up(Discovery.java:294)
      	at org.jgroups.protocols.TP.passMessageUp(TP.java:1183)
      

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

                Created:
                Updated:
                Resolved:
                Archived: