[ https://issues.apache.org/jira/browse/YARN-11643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17804587#comment-17804587 ]
ASF GitHub Bot commented on YARN-11643: --------------------------------------- laysfire opened a new pull request, #6426: URL: https://github.com/apache/hadoop/pull/6426 <!-- Thanks for sending a pull request! 1. If this is your first time, please read our contributor guidelines: https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute 2. Make sure your PR title starts with JIRA issue id, e.g., 'HADOOP-17799. Your PR title ...'. --> ### Description of PR JIRA: [YARN-11643](https://issues.apache.org/jira/browse/YARN-11643). Skip unnecessary pre-check in Multi Node Placement. Scheduler may do useless while loop when Multi Node Placement enable. This lead to poor schedule performance in worst-case scenario. ### How was this patch tested? ### For code changes: - [ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')? - [ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files? > Skip unnecessary pre-check in Multi Node Placement > -------------------------------------------------- > > Key: YARN-11643 > URL: https://issues.apache.org/jira/browse/YARN-11643 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler > Reporter: Xie YiFan > Assignee: Xie YiFan > Priority: Minor > > When Multi Node Placement enabled, RegularContainerAllocator do a while loop > to find one node from candidate set to allocate for a given scheduler key. > Before do allocate, pre-check be called to check if current node satisfies > check. If this node does not pass all checks, just continue to next node. > {code:java} > if (reservedContainer == null) { > result = preCheckForNodeCandidateSet(node, > schedulingMode, resourceLimits, schedulerKey); > if (null != result) { > continue; > } > } {code} > But some checks are related to scheduler Key or Application which return > PRIORITY_SKIPPED or APP_SKIPPED. It means that if first node does not pass > check, the following nodes also do not pass. > If cluster have 5000 nodes in default partition, Scheduler will waste 5000 > times loop for just one scheduler key. > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org