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

5.0.0.FINAL hangs in replication mode with 2 local nodes (works in 4.2.1.FINAL)

    XMLWordPrintable

Details

    • Hide

      Repeat steps:

      • Start a java webapp on host A which creates a cache manager and cache
        • Store and retrieve values from the cache (works fine)
      • Start a second webapp on host A (same code, but the web-app started on a new port)
        You see messages on both indication "Received new, MERGED cluster view", however:
        • The call in the second jvm to cm.getCache("pageCache"); never returns
        • Both jvm's no longer respond (they appear hung).
      Show
      Repeat steps: Start a java webapp on host A which creates a cache manager and cache Store and retrieve values from the cache (works fine) Start a second webapp on host A (same code, but the web-app started on a new port) You see messages on both indication "Received new, MERGED cluster view", however: The call in the second jvm to cm.getCache("pageCache"); never returns Both jvm's no longer respond (they appear hung).
    • Hide

      Use version 4.2.1.FINAL

      Show
      Use version 4.2.1.FINAL

    Description

      Infinispan hangs when starting a second instance of a named cache in replication mode on the same host.

      Program scenario:
      Http servlet is used to cache pages using Infinispan
      Web app started twice by Maven on different ports:

      • mvn tomcat:run -Dmaven.tomcat.port=9090
      • mvn tomcat:run -Dmaven.tomcat.port=9091

      Infinispan XML config:

      <?xml version="1.0" encoding="UTF-8"?>
      <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:infinispan:config:5.0 http://www.infinispan.org/schemas/infinispan-config-5.0.xsd"
                xmlns="urn:infinispan:config:5.0">
                <global>
                          <transport/>
                </global>
                <default>
                          <clustering mode="repl">
                          </clustering>
                </default>
                <namedCache name="itemCache">
                </namedCache>
                <namedCache name="pageCache">
                </namedCache>
      </infinispan>
      

      Code extract:

      @Service
      public class InfCachingService
      implements ICachingService, ResourceLoaderAware {
       
                private static final Logger logger = LoggerFactory.getLogger(InfCachingService.class);
                private String configName = null;
                protected Cache<Integer, ContentBase> itemCache;
                protected Cache<String, PageCacheItem> pageCache;
       
                @Value("${inf.config.file}")
                void setConfig(String configName) {
                          this.configName = configName;
                }
       
                @Override
                public void setResourceLoader(ResourceLoader resourceLoader) {
                          try {
                                    String configFile = resourceLoader.getResource( configName ).getFile().getCanonicalPath();
                     createCaches(configFile);
                          } catch(Exception e) {
                                    logger.error("Could not get resource file: "+ configName + " : " + e);
                          }
                }
       
                protected Boolean createCaches(String configFile) {
                          System.out.println("Creating infinispan CacheManager from XML config");
                          try {
                                    DefaultCacheManager m = new DefaultCacheManager(configFile);
                                    if ( pageCache != null ) {
                                              throw new Exception("pageCache should not exists");
                                    }
                                    pageCache = m.getCache("pageCache");
                                    System.out.println("pageCache created");
                                    return true;
                          } catch(Exception e) {
                                    logger.error("Could not create Caches:", e);
                                    return false;
                          }
                }
      

      Log output on second jvm:

      ISPN000088: Unable to use any JGroups configuration mechanisms provided in properties {}.  Using default JGroups configuration!
      New view accepted: [z200-59673|1] [z200-59673, z200-39342]
      ISPN000094: Received new cluster view: [z200-59673|1] [z200-59673, z200-39342]
      ISPN000079: Cache local address is z200-39342, physical addresses are [fe80:0:0:0:250:56ff:fec0:8:60576]
      Waiting on view being accepted
      ISPN000128: Infinispan version: Infinispan 'Pagoa' 5.0.0.CR8
      Interceptor chain size: 6
      Interceptor chain is:
                >> org.infinispan.interceptors.InvocationContextInterceptor
                >> org.infinispan.interceptors.TxInterceptor
                >> org.infinispan.interceptors.NotificationInterceptor
                >> org.infinispan.interceptors.LockingInterceptor
                >> org.infinispan.interceptors.ReplicationInterceptor
                >> org.infinispan.interceptors.CallInterceptor
      Initiating state transfer process
      ISPN000074: Trying to fetch state from z200-59673
      New view accepted: MergeView::[z200-39342|3] [z200-39342, z200-59673], subgroups=[[z200-59673|2] [z200-59673], [z200-59673|1] [z200-39342]]
      ISPN000093: Received new, MERGED cluster view: MergeView::[z200-39342|3] [z200-39342, z200-59673], subgroups=[[z200-59673|2] [z200-59673], [z200-59673|1] [z200-39342]]
      

      Attachments

        Activity

          People

            rh-ee-galder Galder Zamarreño
            sehughes_jira Stuart Hughes (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: