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

DeltaAware based fine-grained replication corrupts cache data, if eviction is enabled

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 5.2.1.Final, 5.2.5.Final, 5.2.6.Final
    • Fix Version/s: 5.2.6.Final, 5.3.0.Beta1
    • Component/s: None
    • Labels:

      Description

      When using a custom DeltaAware implementation in a cluster with 2 replicated nodes with eviction enabled, data transferred from one node (the writer) to the another (the reader) causes data stored on this node and evicted at the time of the change, to be rewritten with whatever the partial latest delta was.

      In more detail:

      • configure 2 nodes in replicated mode, with eviction enabled
      • consider NodeA the writer and NodeB the reader
      • NodeA inserts some data (custom entries) into the cache
      • NodeB correctly receives via state transfer the initial data
      • NodeA loads & partially updates some information about an entry which was not in the cache - was evicted previously
      • NodeB receives the partial delta with the changes from NodeA, but instead of merging with whatever is stored in the persistent store, replaces the entire entry in the cache, leaving it in effect with "partial/corrupt information"

      If eviction is not enabled, everything works as expected.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  anistor Nistor Adrian
                  Reporter:
                  hchiorean Horia Chiorean
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: