Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
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.