Uploaded image for project: 'Pegasus'
  1. Pegasus
  2. PM-440

Race Condition in Pegasus Transfer

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 3.0.3, 3.1
    • Fix Version/s: None
    • Labels:
      None

      Description

      Property Set: -Dpegasus.dir.storage=test

      When multiple stage out jobs try to create the local directory $STORAGE/test before staging out the files, One of the job fails with error "File exists".

      cp () calls prepare_local_path

      def prepare_local_dir(path):
          """
          makes sure a local path exists before putting files into it
          """
          if not(os.path.exists(path)): ----------- Both stageout jobs find this to be true
              os.makedirs(path, 0755) ---------- Exception thrown here, since one job successfully creates the dir before the other.

        Attachments

          Activity

            People

            • Assignee:
              rynge-page Mats Rynge [X] (Inactive)
              Reporter:
              mayani Rajiv Mayani
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: