Return-Path: X-Original-To: apmail-hadoop-yarn-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-yarn-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 69BE711983 for ; Wed, 11 Jun 2014 12:47:02 +0000 (UTC) Received: (qmail 536 invoked by uid 500); 11 Jun 2014 12:47:02 -0000 Delivered-To: apmail-hadoop-yarn-issues-archive@hadoop.apache.org Received: (qmail 498 invoked by uid 500); 11 Jun 2014 12:47:02 -0000 Mailing-List: contact yarn-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: yarn-issues@hadoop.apache.org Delivered-To: mailing list yarn-issues@hadoop.apache.org Received: (qmail 404 invoked by uid 99); 11 Jun 2014 12:47:02 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Jun 2014 12:47:02 +0000 Date: Wed, 11 Jun 2014 12:47:02 +0000 (UTC) From: "Andrey Stepachev (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (YARN-2145) FairScheduler can assign more resources to queue with MaxShare set. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/YARN-2145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated YARN-2145: ----------------------------------- Description: method fair.FSQueue#assignContainerPreCheck() uses Resources.fitsIn incorrectly, because if queue is at its maximum capacity method returns true and container can be assigned to queue with maximum resources already consumed. That is because fetsIn code do <= comparison and if allocated resources == max resources fitsIn still returns true, and consequently pre check successes {code} public static boolean fitsIn(Resource smaller, Resource bigger) { return smaller.getMemory() <= bigger.getMemory() && smaller.getVirtualCores() <= bigger.getVirtualCores(); } {code} was: method fair.FSQueue#assignContainerPreCheck() uses Resources.fitsIn incorrectly, because if queue is at its maximum capacity method returns true and container can be assigned to queue with maximum resources consumed. That is because fetsIn code do <= comparison and if allocated resources == max resources fitsIn still returns true, and consequently pre check successes {code} public static boolean fitsIn(Resource smaller, Resource bigger) { return smaller.getMemory() <= bigger.getMemory() && smaller.getVirtualCores() <= bigger.getVirtualCores(); } {code} > FairScheduler can assign more resources to queue with MaxShare set. > ------------------------------------------------------------------- > > Key: YARN-2145 > URL: https://issues.apache.org/jira/browse/YARN-2145 > Project: Hadoop YARN > Issue Type: Bug > Components: fairscheduler > Affects Versions: 2.5.0 > Reporter: Andrey Stepachev > Attachments: YARN-2145.diff > > > method fair.FSQueue#assignContainerPreCheck() uses Resources.fitsIn incorrectly, because if queue is at its maximum capacity method returns true and container can be assigned to queue with maximum resources already consumed. > That is because fetsIn code do <= comparison and if allocated resources == max resources fitsIn still returns true, and consequently pre check successes > {code} > public static boolean fitsIn(Resource smaller, Resource bigger) { > return smaller.getMemory() <= bigger.getMemory() && > smaller.getVirtualCores() <= bigger.getVirtualCores(); > } > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)