From yarn-issues-return-107778-apmail-hadoop-yarn-issues-archive=hadoop.apache.org@hadoop.apache.org Wed Feb 15 04:27:51 2017 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 BB3F719578 for ; Wed, 15 Feb 2017 04:27:51 +0000 (UTC) Received: (qmail 31607 invoked by uid 500); 15 Feb 2017 04:27:46 -0000 Delivered-To: apmail-hadoop-yarn-issues-archive@hadoop.apache.org Received: (qmail 31561 invoked by uid 500); 15 Feb 2017 04:27:46 -0000 Mailing-List: contact yarn-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list yarn-issues@hadoop.apache.org Received: (qmail 31545 invoked by uid 99); 15 Feb 2017 04:27:46 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Feb 2017 04:27:46 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 06C6E1A041D for ; Wed, 15 Feb 2017 04:27:46 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id H8U3YBgiq73m for ; Wed, 15 Feb 2017 04:27:44 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id F05AE5F659 for ; Wed, 15 Feb 2017 04:27:43 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 530EFE073D for ; Wed, 15 Feb 2017 04:27:42 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id A4C8B2411F for ; Wed, 15 Feb 2017 04:27:41 +0000 (UTC) Date: Wed, 15 Feb 2017 04:27:41 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (YARN-6163) FS Preemption is a trickle for severely starved applications 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-6163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867224#comment-15867224 ] ASF GitHub Bot commented on YARN-6163: -------------------------------------- Github user kambatla commented on a diff in the pull request: https://github.com/apache/hadoop/pull/192#discussion_r101201549 --- Diff: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestVisitedResourceRequestTracker.java --- @@ -0,0 +1,101 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at* + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair; + +import org.apache.hadoop.yarn.api.records.Priority; +import org.apache.hadoop.yarn.api.records.ResourceRequest; +import org.apache.hadoop.yarn.server.resourcemanager.MockNodes; +import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNode; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ClusterNodeTracker; +import org.apache.hadoop.yarn.util.resource.Resources; +import org.junit.Assert; +import org.junit.Test; + +import java.util.List; + +public class TestVisitedResourceRequestTracker { + private final ClusterNodeTracker + nodeTracker = new ClusterNodeTracker<>(); + private final ResourceRequest + anyRequest, rackRequest, node1Request, node2Request; + + public TestVisitedResourceRequestTracker() { + List rmNodes = + MockNodes.newNodes(1, 2, Resources.createResource(8192, 8)); + + FSSchedulerNode node1 = new FSSchedulerNode(rmNodes.get(0), false); + nodeTracker.addNode(node1); + node1Request = createRR(node1.getNodeName(), 1); + + FSSchedulerNode node2 = new FSSchedulerNode(rmNodes.get(1), false); + node2Request = createRR(node2.getNodeName(), 1); + nodeTracker.addNode(node2); + + anyRequest = createRR(ResourceRequest.ANY, 2); + rackRequest = createRR(node1.getRackName(), 2); + } + + private ResourceRequest createRR(String resourceName, int count) { + return ResourceRequest.newInstance( + Priority.UNDEFINED, resourceName, Resources.none(), count); + } + + @Test + public void testVisitAnyRequestFirst() { + VisitedResourceRequestTracker tracker = + new VisitedResourceRequestTracker(nodeTracker); + + // Visit ANY request first + Assert.assertTrue(tracker.visit(anyRequest)); --- End diff -- I usually insist on a message. In this case, I found it hard to come up with a message that adds value without looking at the code. And, the comments in the code call out the expectations clearly. If you absolutely insist, I can add the messages. > FS Preemption is a trickle for severely starved applications > ------------------------------------------------------------ > > Key: YARN-6163 > URL: https://issues.apache.org/jira/browse/YARN-6163 > Project: Hadoop YARN > Issue Type: Sub-task > Components: fairscheduler > Affects Versions: 2.9.0 > Reporter: Karthik Kambatla > Assignee: Karthik Kambatla > Attachments: yarn-6163-1.patch, yarn-6163-2.patch > > > With current logic, only one RR is considered per each instance of marking an application starved. This marking happens only on the update call that runs every 500ms. Due to this, an application that is severely starved takes forever to reach fairshare based on preemptions. -- 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