[ https://issues.apache.org/jira/browse/YARN-9033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723913#comment-16723913 ]
Szilard Nemeth commented on YARN-9033: -------------------------------------- Hi [~tangzhankun]! I took an initial look on your description. I guess you meant the following: 1. In {{NodeManager.serviceInit}}: {{createResourcePluginManager}} gets called first, and then initialize is called on the created object. If the instance is {{LCE}}, {{ResourceHandlerChain.bootstrap()}} gets called (as specified in {{LinuxContainerExecutor#init}}). 2. In {{NodeManager.serviceInit}} (later): {{createContainerManager}} gets called and gets assigned to field {{containerManager}}. In the constructor of {{ContainerManagerImpl}}, a container scheduler is created: {{this.containerScheduler = createContainerScheduler(context);}} 3. At the last statement of {{NodeManager.serviceInit}}: {{super.serviceInit(conf);}} gets called, that ultimately iterates over all the services and calls {{serviceInit}} on them, including the {{LCE}} and the {{ContainerScheduler}}. I understand that we have 2 calls instead of 1 to {{ResourceHandlerChain.bootstrap}} in case we use {{LCE}}. I don't get the part what happens when we don't use {{LCE}}: Should we still need to call bootstrap from the {{ContainerScheduler}}? I didn't get this part specifically: {quote}But actually, the "updateContainer" invocation in YARN-7715 depend on containerId's cgroups path creation in "preStart" method which only happens when we use "LinuxContainerExecutor". {quote} Where can I find this code part / what should I check? Thanks! > ResourceHandlerChain#bootstrap is invoked twice during NM start if > LinuxContainerExecutor enabled > ------------------------------------------------------------------------------------------------- > > Key: YARN-9033 > URL: https://issues.apache.org/jira/browse/YARN-9033 > Project: Hadoop YARN > Issue Type: Bug > Components: yarn > Reporter: Zhankun Tang > Assignee: Zhankun Tang > Priority: Major > Attachments: YARN-9033-trunk.001.patch, YARN-9033-trunk.002.patch > > > The ResourceHandlerChain#bootstrap will always be invoked in NM's > ContainerScheduler#serviceInit (Involved by YARN-7715) > So if LCE is enabled, the ResourceHandlerChain#bootstrap will be invoked > first and then invoked again in ContainerScheduler#serviceInit. > But actually, the "updateContainer" invocation in YARN-7715 depend on > containerId's cgroups path creation in "preStart" method which only happens > when we use "LinuxContainerExecutor". So the bootstrap of > ResourceHandlerChain shouldn't happen in ContainerScheduler#serviceInit. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org