hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhijie Shen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1389) ApplicationClientProtocol and ApplicationHistoryProtocol should expose analogous APIs
Date Wed, 05 Mar 2014 19:26:44 GMT

    [ https://issues.apache.org/jira/browse/YARN-1389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921265#comment-13921265
] 

Zhijie Shen commented on YARN-1389:
-----------------------------------

1. In javadoc of ApplicationClientProtocol, we shouldn't mention ApplicationHistoryServer,
because the applications obtained from this protocol are all from RM cache instead of history
store
{code}
+   * The <code>ResourceManager</code> or <code>ApplicationHistoryServer</code>
{code}

2. attempts won't be null, and getApplications doesn't throw ApplicationNotFoundException
when getting an empty list of applications. Let's keep the behavior consistent. Same for getContainers.
And in YarnClientImpl, don't process ApplicationAttemptNotFoundException and ContainerNotFoundException
in the corresponding places.
{code}
+      Map<ApplicationAttemptId, RMAppAttempt> attempts = application
+          .getAppAttempts();
+      List<ApplicationAttemptReport> listAttempts = new ArrayList<ApplicationAttemptReport>();
+      if (attempts == null) {
+        throw new ApplicationAttemptNotFoundException(
+            "ApplicationAttempts not found for " + appId + " Not Found in RM");
+      }
{code}

3. TestClientRMService needs more test cases as well, like what you did in TestYarnClient

4. Please test the new APIs in a presudo cluster to verify whether it works or not. Thanks!

bq. We decided not to get completed list from history, it will be just rm apps as before.

Then, in the current YarnClient can never inquiry a list of applications stored in the history
store, while it can do all the other remaining things. However, let's imagine how users inspect
the information: they will list the applications, and get verbose information of a particular
application. It's difficult for users to locate a particular application in the history store
without knowing its application ID.

While it makes sense to show the running application only, we still need open the option for
users to get the finished applications. I don't want to block the patch with this issue, but
anyway, we should be aware of it and deal with it later.



> ApplicationClientProtocol and ApplicationHistoryProtocol should expose analogous APIs
> -------------------------------------------------------------------------------------
>
>                 Key: YARN-1389
>                 URL: https://issues.apache.org/jira/browse/YARN-1389
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Mayank Bansal
>            Assignee: Mayank Bansal
>         Attachments: YARN-1389-1.patch, YARN-1389-2.patch, YARN-1389-3.patch, YARN-1389-4.patch
>
>
> As we plan to have the APIs in ApplicationHistoryProtocol to expose the reports of *finished*
application attempts and containers, we should do the same for ApplicationClientProtocol,
which will return the reports of *running* attempts and containers.
> Later on, we can improve YarnClient to direct the query of running instance to ApplicationClientProtocol,
while that of finished instance to ApplicationHistoryProtocol, making it transparent to the
users.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message