[ 
https://issues.apache.org/jira/browse/TEZ-3852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhiyuan Yang closed TEZ-3852.
-----------------------------

> Optimize ContainerContext.isSuperSet to speed container reuse decisions
> -----------------------------------------------------------------------
>
>                 Key: TEZ-3852
>                 URL: https://issues.apache.org/jira/browse/TEZ-3852
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Jonathan Eagles
>            Assignee: Jonathan Eagles
>             Fix For: 0.9.1
>
>         Attachments: TEZ-3852.001.patch, TEZ-3852.002.patch, 
> TEZ-3852.003.patch
>
>
> Found an AM that was consuming high CPU. The stack trace below shows that 
> container reuse compatibility check with a high number of local resources was 
> the culprit.
> {noformat:title=task scheduler compatibility check}
> "DelayedContainerManager" #112 prio=5 os_prio=0 tid=0x0000000003b59800 
> nid=0x1edba runnable [0x00007fe13c232000]
>    java.lang.Thread.State: RUNNABLE
>       at java.util.HashMap.putVal(HashMap.java:628)
>       at java.util.HashMap.putMapEntries(HashMap.java:514)
>       at java.util.HashMap.<init>(HashMap.java:489)
>       at 
> org.apache.tez.dag.app.ContainerContext.localResourcesCompatible(ContainerContext.java:132)
>       at 
> org.apache.tez.dag.app.ContainerContext.isSuperSet(ContainerContext.java:116)
>       at 
> org.apache.tez.dag.app.rm.container.ContainerContextMatcher.isSuperSet(ContainerContextMatcher.java:50)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.canAssignTaskToContainer(YarnTaskSchedulerService.java:1543)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.getMatchingRequestWithoutPriority(YarnTaskSchedulerService.java:1492)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.access$500(YarnTaskSchedulerService.java:85)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService$NodeLocalContainerAssigner.assignReUsedContainer(YarnTaskSchedulerService.java:1870)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.assignReUsedContainerWithLocation(YarnTaskSchedulerService.java:1754)
>       - locked <0x00000006e0d12600> (a 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.assignReUsedContainersWithLocation(YarnTaskSchedulerService.java:1712)
>       - locked <0x00000006e0d12600> (a 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.tryAssignReUsedContainers(YarnTaskSchedulerService.java:578)
>       - locked <0x00000006e0d12600> (a 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService.access$800(YarnTaskSchedulerService.java:85)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService$DelayedContainerManager.doAssignAll(YarnTaskSchedulerService.java:2103)
>       - locked <0x00000006e0d12600> (a 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService$DelayedContainerManager.mainLoop(YarnTaskSchedulerService.java:1984)
>       at 
> org.apache.tez.dag.app.rm.YarnTaskSchedulerService$DelayedContainerManager.run(YarnTaskSchedulerService.java:1974)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to