Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-4748

Geode put may result in inconsistent cache without SSL if network packets are tampered with

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Won't Fix
    • 1.0.0-incubating, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.4.0
    • None
    • membership, serialization
    • None

    Description

      Geode cache became inconsistent in case if networking and serialization problems occur at commit time. How to reproduce:

      1. create any simple replicated region
      2. run two nodes
      3. put some value in the region (within a transaction or not)
      4. execute query on both nodes to check that the same value is returned (I used JMX for that)
      5. emulate somehow temporary networking or serialization error (throw IOException from toData() or use clumsy to emulate network interruption)
      6. repeat 3, exception should occur
      7. repeat 4 - you should see different values on different nodes

      It looks like errors occurred after TXState.applyChanges produce inconsistency - it is impossible to rollback applied local changes what leads to the state where local cache contains changed data but other node(s) old data (before changes made in transaction).

      To me, consistency is a key property for the systems like Geode so I would consider this bug as a critical one.

      Attachments

        1. clumsy.jpg
          80 kB
          Eugene Nedzvetsky
        2. geode-4748.log
          12 kB
          Eugene Nedzvetsky

        Activity

          People

            Unassigned Unassigned
            vlotarev Vadim Lotarev
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: