Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-4671

There is no need to acquire CS lock when completing a container

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: None
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      In YARN-4519, we discovered that there is no need to acquire CS lock in CS#completedContainerInternal, because:

      • Access to critical section are already guarded by queue lock.
      • It is not essential to guard schedulerHealth with cs lock in completedContainerInternal. All maps in schedulerHealth are concurrent maps. Even if schedulerHealth is not consistent at the moment, it will be eventually consistent.

      With this fix, we can truly claim that CS#allocate doesn't require CS lock.

        Attachments

        1. YARN-4671.1.patch
          5 kB
          MENG DING
        2. YARN-4671.2.patch
          5 kB
          MENG DING

          Activity

            People

            • Assignee:
              mding MENG DING
              Reporter:
              mding MENG DING
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: