Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 05C52200CFC for ; Thu, 14 Sep 2017 03:07:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 042981609CB; Thu, 14 Sep 2017 01:07:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 239BC1609CA for ; Thu, 14 Sep 2017 03:07:05 +0200 (CEST) Received: (qmail 43251 invoked by uid 500); 14 Sep 2017 01:07:05 -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 43238 invoked by uid 99); 14 Sep 2017 01:07:05 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Sep 2017 01:07:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id B655CCB0EC for ; Thu, 14 Sep 2017 01:07:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id m4Evm73esG36 for ; Thu, 14 Sep 2017 01:07:03 +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 573465FC21 for ; Thu, 14 Sep 2017 01:07:02 +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 80449E0D58 for ; Thu, 14 Sep 2017 01:07:01 +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 6A28E25395 for ; Thu, 14 Sep 2017 01:07:00 +0000 (UTC) Date: Thu, 14 Sep 2017 01:07:00 +0000 (UTC) From: "Jonathan Hung (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (YARN-6840) Implement zookeeper based store for scheduler configuration updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 14 Sep 2017 01:07:07 -0000 [ https://issues.apache.org/jira/browse/YARN-6840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16165563#comment-16165563 ] Jonathan Hung edited comment on YARN-6840 at 9/14/17 1:06 AM: -------------------------------------------------------------- Thanks [~leftnoteasy] for the review. Attached 004 addressing most of these comments. Also added a couple of sleeps in TestZKConfigurationStore due to a race condition to fix some test failures. bq. Move following code: To refreshAll, and parameter isActiveTransition and private void refreshQueues can be removed. Done bq. Is it a better idea to move public void refreshQueues() logic to scheduler#reinitialize(...). It's not a good idea to invoke AdminService#refreshQueues from MutableCSConfigurationProvider. Not sure about this, then we are doing the reservation system reinitialization inside scheduler, so every time scheduler#reinitialize is called, the reservation system is also initialized, not sure if this is the desired behavior. Also we would need to duplicate the reservation system reinitialization for all schedulers, or make ResourceScheduler an abstract class and add it there. Unless you meant duplicating the reservation system reinitialization logic inside MutableCSConfigurationProvider#mutateConfiguration? I think this makes more sense, but then we have duplicate code between this and AdminService. bq. In MutableCSConfigurationProvider: It's better to remove:... Done bq. In MutableConfScheduler: Similar to above, it's better to remove:... Done bq. refreshConfiguration -> reloadConfigurationFromStore Done bq. createAndStartZKManager can be merged to rm#getZKManager() Renamed to getAndStartZKManager bq. Getter API of ResourceManager should be exposed by RMContext. We should never use ref to ResourceManager directly. Done for ZKConfigurationStore, I left the references in ZKRMStateStore since this class has other direct references to rm object. We can handle this in a separate ticket if you'd like. bq. setResourceManager can be removed and you can pass RMContext ref to initialize. Done bq. What happens if Configuration schedConf passed to a already initialized store? For leveldb and zk, it will ignore it and use the scheduler configuration persisted in the store. bq. Could you add Javadocs to following methods: Done was (Author: jhung): Thanks [~leftnoteasy] for the review. Attached 004 addressing most of these comments: bq. Move following code: To refreshAll, and parameter isActiveTransition and private void refreshQueues can be removed. Done bq. Is it a better idea to move public void refreshQueues() logic to scheduler#reinitialize(...). It's not a good idea to invoke AdminService#refreshQueues from MutableCSConfigurationProvider. Not sure about this, then we are doing the reservation system reinitialization inside scheduler, so every time scheduler#reinitialize is called, the reservation system is also initialized, not sure if this is the desired behavior. Also we would need to duplicate the reservation system reinitialization for all schedulers, or make ResourceScheduler an abstract class and add it there. Unless you meant duplicating the reservation system reinitialization logic inside MutableCSConfigurationProvider#mutateConfiguration? I think this makes more sense, but then we have duplicate code between this and AdminService. bq. In MutableCSConfigurationProvider: It's better to remove:... Done bq. In MutableConfScheduler: Similar to above, it's better to remove:... Done bq. refreshConfiguration -> reloadConfigurationFromStore Done bq. createAndStartZKManager can be merged to rm#getZKManager() Renamed to getAndStartZKManager bq. Getter API of ResourceManager should be exposed by RMContext. We should never use ref to ResourceManager directly. Done for ZKConfigurationStore, I left the references in ZKRMStateStore since this class has other direct references to rm object. We can handle this in a separate ticket if you'd like. bq. setResourceManager can be removed and you can pass RMContext ref to initialize. Done bq. What happens if Configuration schedConf passed to a already initialized store? For leveldb and zk, it will ignore it and use the scheduler configuration persisted in the store. bq. Could you add Javadocs to following methods: Done > Implement zookeeper based store for scheduler configuration updates > ------------------------------------------------------------------- > > Key: YARN-6840 > URL: https://issues.apache.org/jira/browse/YARN-6840 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Wangda Tan > Assignee: Jonathan Hung > Attachments: YARN-6840-YARN-5734.001.patch, YARN-6840-YARN-5734.002.patch, YARN-6840-YARN-5734.003.patch, YARN-6840-YARN-5734.004.patch > > > Right now there is only in-memory and leveldb based configuration store supported. Need one which supports RM HA. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org For additional commands, e-mail: yarn-issues-help@hadoop.apache.org