YARN-5870. Expose getApplications API in YarnClient with GetApplicationsRequest parameter. Contributed by Jian He.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ce2847e7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ce2847e7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ce2847e7 Branch: refs/heads/HADOOP-13345 Commit: ce2847e79441881eeca888b581c7be2cc3ac74f4 Parents: 04a024b Author: Rohith Sharma K S <rohithsharm...@apache.org> Authored: Thu Nov 17 08:48:35 2016 +0530 Committer: Rohith Sharma K S <rohithsharm...@apache.org> Committed: Thu Nov 17 08:48:35 2016 +0530 ---------------------------------------------------------------------- .../hadoop/yarn/client/api/YarnClient.java | 26 ++++++++++++++++++++ .../yarn/client/api/impl/YarnClientImpl.java | 7 ++++++ 2 files changed, 33 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/ce2847e7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java index 4cac2c2..4e0ba2c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java @@ -32,6 +32,8 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.io.Text; import org.apache.hadoop.service.AbstractService; import org.apache.hadoop.yarn.api.ApplicationClientProtocol; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest; import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationResponse; import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteRequest; import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteResponse; @@ -379,6 +381,30 @@ public abstract class YarnClient extends AbstractService { /** * <p> + * Get a list of ApplicationReports that match the given + * {@link GetApplicationsRequest}. + *</p> + * + * <p> + * If the user does not have <code>VIEW_APP</code> access for an application + * then the corresponding report will be filtered as described in + * {@link #getApplicationReport(ApplicationId)}. + * </p> + * + * @param request the request object to get the list of applications. + * @return The list of ApplicationReports that match the request + * @throws YarnException Exception specific to YARN. + * @throws IOException Exception mostly related to connection errors. + */ + public List<ApplicationReport> getApplications(GetApplicationsRequest request) + throws YarnException, IOException { + throw new UnsupportedOperationException( + "The sub-class extending " + YarnClient.class.getName() + + " is expected to implement this !"); + } + + /** + * <p> * Get metrics ({@link YarnClusterMetrics}) about the cluster. * </p> * http://git-wip-us.apache.org/repos/asf/hadoop/blob/ce2847e7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java index 80e453f..57f50c4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java @@ -544,6 +544,13 @@ public class YarnClientImpl extends YarnClient { } @Override + public List<ApplicationReport> getApplications( + GetApplicationsRequest request) throws YarnException, IOException { + GetApplicationsResponse response = rmClient.getApplications(request); + return response.getApplicationList(); + } + + @Override public YarnClusterMetrics getYarnClusterMetrics() throws YarnException, IOException { GetClusterMetricsRequest request = --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org