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

Concurrent TreeCache.move() calls with the same destination lose data

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 5.3.0.CR1
    • Fix Version/s: 5.3.0.Final
    • Component/s: Core
    • Labels:
      None

      Description

      The move method reads the contents of the destination node in the transaction/invocation context before locking it.

      If there are multiple parallel movers with the same destination, some of the moved nodes might be lost. This sometimes happens in NodeMoveAPIPessimisticTest, causing random failures.

      Note that even if the move() method locks the destination node, it will still be possible for the user to read the destination node in the same transaction and cause data loss. The move() method documentation should warn about this.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                dan.berindei Dan Berindei
                Reporter:
                dan.berindei Dan Berindei
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: