Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-3439

MissingLastRevSeeker potential race condition acquiring the lock

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.23, 1.2.8, 1.3.9
    • 1.2.11, 1.3.10, 1.4
    • core, rdbmk
    • None

    Description

                  // This approach has a race condition where two different cluster
                  // nodes
                  // can acquire the lock simultaneously.
                  UpdateOp update = new UpdateOp(Integer.toString(clusterId), true);
                  update.set(ClusterNodeInfo.REV_RECOVERY_LOCK, RecoverLockState.ACQUIRED.name());
                  store.createOrUpdate(Collection.CLUSTER_NODES, update);
                  return true;
      

      It would be good if could harden this, however it seems that the conditions in UpdateOp only work on revision properties. mreutegg WDYT?

      Attachments

        1. OAK-3439.diff
          4 kB
          Julian Reschke
        2. OAK-3439.diff
          7 kB
          Julian Reschke

        Issue Links

          Activity

            People

              reschke Julian Reschke
              reschke Julian Reschke
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: