Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-9762

Network partition leads to failures in Ignite's cache

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.4
    • None
    • cache
    • None
    • Docs Required

    Description

      Creating a network partition in a replicated Ignite cluster leads to creating two independent clusters, each of which would operate independently from the other, even after the network partition is healed.

       

       

      Setup: 3 servers (s1,s2,s3) two clients (c1,c2).

      A partition created {(s1,s2,c1),(s3,c2)}.

      --> At this point two independent clusters form; one containing s1 and s2, while the other containing s3. The two never rejoin even after the partition is healed. 

       

      This leads to a faulty cache in both sides of the partition:

       

      • Stale reads: An update to a cache in one side of the partition will not be propagated to the other side, hence, future reads to the other side's cache (using the updated key) will be stale reads.

       

      • Data unavailability: Inserting a new element to the cache on one side of the partition will not be added to the other side even after the partition is healed. This results in data unavailability for clients connected to the servers on the other side of the partition.

       

      These are the settings used for the replicated cache:

       
      cfg.setCacheMode(CacheMode.REPLICATED);
      cfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
      cfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
      cfg.setReadFromBackup(false);
      cfg.setPartitionLossPolicy(PartitionLossPolicy.READ_ONLY_SAFE);

      Attachments

        Activity

          People

            Unassigned Unassigned
            un9xknown Mo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: