Github user tgravescs commented on a diff in the pull request:

    https://github.com/apache/spark/pull/3245#discussion_r20505868
  
    --- Diff: 
yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/YarnAllocationHandler.scala
 ---
    @@ -43,10 +44,20 @@ private[yarn] class YarnAllocationHandler(
         securityMgr: SecurityManager)
       extends YarnAllocator(conf, sparkConf, appAttemptId, args, 
preferredNodes, securityMgr) {
     
    +
    +  // ContainerRequests which have been added to AMRMClient.
    +  private val containerRequestList = new 
LinkedBlockingQueue[ContainerRequest]()
    +
       override protected def releaseContainer(container: Container) = {
         amClient.releaseAssignedContainer(container.getId())
       }
     
    +  override protected def removeContainerRequest() = {
    +    if(!containerRequestList.isEmpty()){
    +      amClient.removeContainerRequest(containerRequestList.take())
    --- End diff --
    
    When you request containers from yarn and specify hosts or racks then it is 
not guaranteed that you get them back in the order you requests them.  Certain 
hosts may be busy, not available, etc.  You might get a rack request fullfilled 
instead of a host request, etc.  Since the preferred locality stuff is broken 
right now anyway (SPARK-2089), we can fix this up separately if you would 
prefer?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to