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 41341D8C9 for ; Thu, 20 Dec 2012 10:37:17 +0000 (UTC) Received: (qmail 23540 invoked by uid 500); 20 Dec 2012 10:37:15 -0000 Delivered-To: apmail-hadoop-yarn-issues-archive@hadoop.apache.org Received: (qmail 23144 invoked by uid 500); 20 Dec 2012 10:37:14 -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 22449 invoked by uid 99); 20 Dec 2012 10:37:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Dec 2012 10:37:14 +0000 Date: Thu, 20 Dec 2012 10:37:13 +0000 (UTC) From: "Tom White (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (YARN-103) Add a yarn AM - RM client module 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-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536929#comment-13536929 ] Tom White commented on YARN-103: -------------------------------- > The interface shouldn't really be implemented by anyone outside of YARN This is the heart of the problem. We don't have a way to say (via the audience annotations) that an interface is for read-only use only - and not for users to implement. An interface may be @Public @Stable from the point of view of a user who wants to call it, but that doesn't mean that folks should implement it themselves, since for interfaces like the one we are discussing we might want to add a new method, say (note that such a change is compatible with @Stable). Adding a new method is fine for the first type of user, but not for the second, since their implementation breaks. In this case, I think it's likely we'll add more methods. For example, it would be useful to add a waitForState method to YarnClient (which is also an interface), which waits for a given application to reach a particular YarnApplicationState. If YarnClient were a class then this would be a compatible change, but if it's an interface then it is not. I think we should do one of the following: 1. Change YarnClient and AMRMClient to be concrete implementations. 2. Leave the interface/implementation distinction and make the interfaces @Public @Unstable. I prefer 1. since these classes are helper classes - they are not a tightly-defined interface. > Add a yarn AM - RM client module > -------------------------------- > > Key: YARN-103 > URL: https://issues.apache.org/jira/browse/YARN-103 > Project: Hadoop YARN > Issue Type: Improvement > Reporter: Bikas Saha > Assignee: Bikas Saha > Attachments: YARN-103.1.patch, YARN-103.2.patch, YARN-103.3.patch, YARN-103.4.patch, YARN-103.4.wrapper.patch, YARN-103.5.patch, YARN-103.6.patch, YARN-103.7.patch > > > Add a basic client wrapper library to the AM RM protocol in order to prevent proliferation of code being duplicated everywhere. Provide helper functions to perform reverse mapping of container requests to RM allocation resource request table format. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira