Details
-
Bug
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
3.3.1
-
None
Description
When following the documentation configuring elastic memory resource control, yarn.nodemanager.elastic-memory-control.enabled set true, yarn.nodemanager.resource.memory.enforced set to false, yarn.nodemanager.pmem-check-enabled set true, and yarn.nodemanager.resource.memory.enabled set true to use cgroup control memory, but elastic memory control is not work.
I see the code ContainersMonitorImpl.java, in checkLimit function, the skip logic have some problem. The return condition is strictMemoryEnforcement is true and elasticMemoryEnforcement is false. So, following the document set use elastic memory control, the check logic will continue, when container memory used over limit will killed by checkLimit.
if (strictMemoryEnforcement && !elasticMemoryEnforcement) { // When cgroup-based strict memory enforcement is used alone without // elastic memory control, the oom-kill would take care of it. // However, when elastic memory control is also enabled, the oom killer // would be disabled at the root yarn container cgroup level (all child // cgroups would inherit that setting). Hence, we fall back to the // polling-based mechanism. return; }
Attachments
Attachments
Issue Links
- relates to
-
YARN-8930 CGroup-based strict container memory enforcement does not work with CGroupElasticMemoryController
- Resolved
- links to