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

Data loss possible during state transfer when numOwners == 1

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 5.0.0.CR7
    • Fix Version/s: 5.0.0.CR8, 5.0.0.FINAL
    • Component/s: Core
    • Labels:
      None
    • Environment:

      single machine (Mac is my case)

      Description

      I have a test (below) which creates a CacheManager and Cache, sets a value, waits a bit, creates another CacheManager and Cache, then tries to get the value from the first cache. Only it gets null instead – from both caches!

      Am new to Infinispan but discussed with Sanne who recommended to file as a bug.

      Originally discussed in community forum here.

          public void bug() throws InterruptedException {
              EmbeddedCacheManager cm1 = newCM();
              Cache c1 = cm1.getCache("x");
              c1.put("key", "value");
              Thread.sleep(3000);
              EmbeddedCacheManager cm2 = newCM();
              System.out.println(c1.get("key"));  //always says "value"
              Cache c2 = cm2.getCache("x");
              System.out.println(c1.get("key"));  //says null sometimes
              assert c1.get("key") != null : "value at cache 1 was lost";        
              cm1.stop();
              cm2.stop();
          }
       
          public EmbeddedCacheManager newCM() {
              GlobalConfiguration gc = GlobalConfiguration.getClusteredDefault();
              Configuration cfg = new Configuration().fluent()
                  .mode(Configuration.CacheMode.DIST_SYNC)
                  .hash().numOwners(1)
                  .clustering().l1().disable()
                  .build();
              return new DefaultCacheManager(gc, cfg);
          }        
      

      (BTW changing to REPL_SYNC, or numOwners(2), it works fine.)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                manik Manik Surtani
                Reporter:
                alex.heneveld Alex Heneveld
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: