hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-5829) FS preemption should reserve a node before considering containers on it for preemption
Date Sat, 25 Mar 2017 01:05:44 GMT

    [ https://issues.apache.org/jira/browse/YARN-5829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15941444#comment-15941444
] 

ASF GitHub Bot commented on YARN-5829:
--------------------------------------

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

    https://github.com/apache/hadoop/pull/201#discussion_r108023660
  
    --- Diff: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairSchedulerPreemption.java
---
    @@ -294,11 +294,29 @@ private void verifyPreemption(int numStarvedAppContainers)
             8 - 2 * numStarvedAppContainers,
             greedyApp.getQueue().getMetrics().getAggregatePreemptedContainers());
     
    +    // Verify the node is reserved for the starvingApp
    +    for (RMNode rmNode : rmNodes) {
    +      FSSchedulerNode node = (FSSchedulerNode)
    +          scheduler.getNodeTracker().getNode(rmNode.getNodeID());
    +      if (node.getContainersForPreemption().size() > 0) {
    +        assertTrue(node.getPreemptionList().keySet().contains(starvingApp));
    +      }
    +    }
    +
         sendEnoughNodeUpdatesToAssignFully();
     
         // Verify the preempted containers are assigned to starvingApp
         assertEquals("Starved app is not assigned the right # of containers",
             numStarvedAppContainers, starvingApp.getLiveContainers().size());
    +
    +    // Verify the node is not reserved for the starvingApp anymore
    +    for (RMNode rmNode : rmNodes) {
    +      FSSchedulerNode node = (FSSchedulerNode)
    +          scheduler.getNodeTracker().getNode(rmNode.getNodeID());
    +      if (node.getContainersForPreemption().size() > 0) {
    +        assertTrue(!node.getPreemptionList().keySet().contains(starvingApp));
    --- End diff --
    
    assert message. 


> FS preemption should reserve a node before considering containers on it for preemption
> --------------------------------------------------------------------------------------
>
>                 Key: YARN-5829
>                 URL: https://issues.apache.org/jira/browse/YARN-5829
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: fairscheduler
>            Reporter: Karthik Kambatla
>            Assignee: Miklos Szegedi
>
> FS preemption evaluates nodes for preemption, and subsequently preempts identified containers.
If this node is not reserved for a specific application, any other application could be allocated
resources on this node. 
> Reserving the node for the starved application before preempting containers would help
avoid this.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org


Mime
View raw message