[ https://issues.apache.org/jira/browse/YARN-3983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wangda Tan updated YARN-3983: ----------------------------- Attachment: YARN-3983.4.patch Attached ver.4 patch addressed Jian's comments. > Make CapacityScheduler to easier extend application allocation logic > -------------------------------------------------------------------- > > Key: YARN-3983 > URL: https://issues.apache.org/jira/browse/YARN-3983 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Wangda Tan > Assignee: Wangda Tan > Attachments: YARN-3983.1.patch, YARN-3983.2.patch, YARN-3983.3.patch, > YARN-3983.4.patch > > > While working on YARN-1651 (resource allocation for increasing container), I > found it is very hard to extend existing CapacityScheduler resource > allocation logic to support different types of resource allocation. > For example, there's a lot of differences between increasing a container and > allocating a container: > - Increasing a container doesn't need to check locality delay. > - Increasing a container doesn't need to build/modify a resource request tree > (ANY->RACK/HOST). > - Increasing a container doesn't need to check allocation/reservation > starvation (see {{shouldAllocOrReserveNewContainer}}). > - After increasing a container is approved by scheduler, it need to update an > existing container token instead of creating new container. > And there're lots of similarities when allocating different types of > resources. > - User-limit/queue-limit will be enforced for both of them. > - Both of them needs resource reservation logic. (Maybe continuous > reservation looking is needed for both of them). > The purpose of this JIRA is to make easier extending CapacityScheduler > resource allocation logic to support different types of resource allocation, > make common code reusable, and also better code organization. -- This message was sent by Atlassian JIRA (v6.3.4#6332)