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

ConcurrentModificationException for a joining node with CrossSiteReplication

XMLWordPrintable

    • User Experience
    • Hide

      No workaround needed.
      The only bad effect is the lack of metrics for JGroups.
      Everything else will work as expected.
      So the Exception can be ignored

      Show
      No workaround needed. The only bad effect is the lack of metrics for JGroups. Everything else will work as expected. So the Exception can be ignored

      If the statistics for JGroups is enabled (default) there is a race condition if nodes are joining.
      It could happen that the local cluster and XSite cluster (JChannel) connecting at the same time and access the same internal Map.

      2022-05-16 04:42:14,822 ERROR (main) [org.jgroups.JChannel] JGRP000016: exception in channelConnected callback: java.util.ConcurrentModificationException java.util.ConcurrentModificationException
          at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1226)
          at org.infinispan.remoting.transport.jgroups.JGroupsTransport.channelConnected(JGroupsTransport.java:1515)
          at org.jgroups.JChannel.lambda$notifyChannelConnected$1(JChannel.java:1104)
          at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
          at java.base/java.util.concurrent.CopyOnWriteArraySet.forEach(CopyOnWriteArraySet.java:425)
          at org.jgroups.JChannel.notifyListeners(JChannel.java:1118)
          at org.jgroups.JChannel.notifyChannelConnected(JChannel.java:1104)
          at org.jgroups.JChannel.connect(JChannel.java:363)
          at org.jgroups.JChannel.connect(JChannel.java:352)
          at org.infinispan.remoting.transport.jgroups.JGroupsTransport.startJGroupsChannelIfNeeded(JGroupsTransport.java:554)
          at org.infinispan.remoting.transport.jgroups.JGroupsTransport.start(JGroupsTransport.java:478)
          at org.infinispan.remoting.transport.jgroups.CorePackageImpl$1.start(CorePackageImpl.java:42)
          at org.infinispan.remoting.transport.jgroups.CorePackageImpl$1.start(CorePackageImpl.java:27)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:617)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:608)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
          at org.infinispan.metrics.impl.MetricsCollector.start(MetricsCollector.java:70)
          at org.infinispan.metrics.impl.CorePackageImpl$1.start(CorePackageImpl.java:41)
          at org.infinispan.metrics.impl.CorePackageImpl$1.start(CorePackageImpl.java:34)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:617)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:608)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.startDependencies(BasicComponentRegistryImpl.java:635)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:599)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
          at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
          at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:354)
          at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:250)
          at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:766)
          at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:734)
          at org.infinispan.server.SecurityActions.lambda$startCacheManager$1(SecurityActions.java:69)
          at org.infinispan.security.Security.doPrivileged(Security.java:56)
          at org.infinispan.server.SecurityActions.doPrivileged(SecurityActions.java:40)
          at org.infinispan.server.SecurityActions.startCacheManager(SecurityActions.java:72)
          at org.infinispan.server.Server.run(Server.java:398)
          at org.infinispan.server.Bootstrap.runInternal(Bootstrap.java:165)
          at org.infinispan.server.tool.Main.run(Main.java:98)
          at org.infinispan.server.Bootstrap.main(Bootstrap.java:50)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:564)
          at org.infinispan.server.loader.Loader.run(Loader.java:106)
          at org.infinispan.server.loader.Loader.main(Loader.java:51)

            pruivo@redhat.com Pedro Ruivo
            rhn-support-wfink Wolf Fink
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: