You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Peter D Kirchner (JIRA)" <ji...@apache.org> on 2015/01/08 22:25:34 UTC

[jira] [Created] (YARN-3020) n similar addContainerRequest()s produce n*(n+1)/2 containers

Peter D Kirchner created YARN-3020:
--------------------------------------

             Summary: n similar addContainerRequest()s produce n*(n+1)/2 containers
                 Key: YARN-3020
                 URL: https://issues.apache.org/jira/browse/YARN-3020
             Project: Hadoop YARN
          Issue Type: Bug
          Components: client
    Affects Versions: 2.5.2, 2.5.1, 2.6.0, 2.5.0
            Reporter: Peter D Kirchner


BUG: If the application master calls addContainerRequest() n times, but with the same priority, I get 1+2+3+...+n containers = n*(n+1)/2 .

If the application master calls addContainerRequest() n times, but with a unique priority each time, I get n containers (as I intended).

Analysis:
There is a logic problem in AMRMClientImpl.java.
Although AMRMClientImpl.java, allocate() does an ask.clear() , on subsequent calls to addContainerRequest(), addResourceRequest() finds the previous matching remoteRequest and increments the container count rather than starting anew, and does an addResourceRequestToAsk() which defeats the ask.clear().

>From documentation and code comments, it was hard for me to discern the intended behavior of the API, but the inconsistency reported in this issue suggests one case or the other is implemented incorrectly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)