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

Race Condition in Pegasus Transfer

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Trivial Trivial
    • None
    • Affects Version/s: 3.0.3, 3.1
    • None

      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.

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

              Created:
              Updated:
              Resolved: