diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
index 96aaa27..a12bf94 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
@@ -58,6 +58,7 @@
yarn_protos.proto
yarn_service_protos.proto
applicationmaster_protocol.proto
+ application_base_protocol.proto
applicationclient_protocol.proto
containermanagement_protocol.proto
server/yarn_server_resourcemanager_service_protos.proto
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocol.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocol.java
new file mode 100644
index 0000000..06f9fa7
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocol.java
@@ -0,0 +1,179 @@
+/**
+ * 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.api;
+
+import java.io.IOException;
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Stable;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.ApplicationReport;
+import org.apache.hadoop.yarn.api.records.Token;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+
+/**
+ *
+ * This is the Base protocol for clients and History to get the information of
+ * completed/running applications etc. This is for Internal use only and should
+ * not be used by the clients.
+ *
+ */
+@Private
+@Unstable
+public interface ApplicationBaseProtocol {
+ /**
+ *
+ * The interface used by clients to get a report of an Application from the
+ * ResourceManager and ApplicationHistoryServer.
+ *
+ *
+ *
+ * The client, via {@link GetApplicationReportRequest} provides the
+ * {@link ApplicationId} of the application.
+ *
+ *
+ *
+ * In secure mode,the ResourceManager and
+ * ApplicationHistoryServer verifies access to the application,
+ * queue etc. before accepting the request.
+ *
+ *
+ *
+ * The ResourceManager and ApplicationHistoryServer
+ * responds with a {@link GetApplicationReportResponse} which includes the
+ * {@link ApplicationReport} for the application.
+ *
+ *
+ *
+ * If the user does not have VIEW_APP access then the following
+ * fields in the report will be set to stubbed values:
+ *
+ * - host - set to "N/A"
+ * - RPC port - set to -1
+ * - client token - set to "N/A"
+ * - diagnostics - set to "N/A"
+ * - tracking URL - set to "N/A"
+ * - original tracking URL - set to "N/A"
+ * - resource usage report - all values are -1
+ *
+ *
+ *
+ * @param request
+ * request for an application report
+ * @return application report
+ * @throws YarnException
+ * @throws IOException
+ */
+ @Public
+ @Stable
+ public GetApplicationReportResponse getApplicationReport(
+ GetApplicationReportRequest request) throws YarnException, IOException;
+
+ /**
+ *
+ * The interface used by clients to get a report of all Applications in the
+ * cluster from the ResourceManager and
+ * ApplicationHistoryServer.
+ *
+ *
+ *
+ * The ResourceManager and ApplicationHistoryServer
+ * responds with a {@link GetApplicationsResponse} which includes a list of
+ * {@link ApplicationReport} for all the applications.
+ *
+ *
+ *
+ * If the user does not have VIEW_APP access for an application
+ * then the corresponding report will be filtered as described in
+ * {@link #getApplicationReport(GetApplicationReportRequest)}.
+ *
+ *
+ * @param request
+ * request for reports on all the applications
+ * @return report on applications matching the given application types defined
+ * in the request
+ * @throws YarnException
+ * @throws IOException
+ */
+ @Public
+ @Stable
+ public GetApplicationsResponse getApplications(GetApplicationsRequest request)
+ throws YarnException, IOException;
+
+ /**
+ *
+ * The interface used by clients to get delegation token, enabling the
+ * containers to be able to talk to the service using those tokens.
+ *
+ *
+ * The ResourceManager or ApplicationHistoryServer
+ * responds with the delegation {@link Token} that can be used by the client
+ * to speak to this service.
+ *
+ * @param request
+ * request to get a delegation token for the client.
+ * @return delegation token that can be used to talk to this service
+ * @throws YarnException
+ * @throws IOException
+ */
+ @Public
+ @Stable
+ public GetDelegationTokenResponse getDelegationToken(
+ GetDelegationTokenRequest request) throws YarnException, IOException;
+
+ /**
+ * Renew an existing delegation {@link Token}.
+ *
+ * @param request
+ * the delegation token to be renewed.
+ * @return the new expiry time for the delegation token.
+ * @throws YarnException
+ * @throws IOException
+ */
+ @Private
+ @Unstable
+ public RenewDelegationTokenResponse renewDelegationToken(
+ RenewDelegationTokenRequest request) throws YarnException, IOException;
+
+ /**
+ * Cancel an existing delegation {@link Token}.
+ *
+ * @param request
+ * the delegation token to be cancelled.
+ * @return an empty response.
+ * @throws YarnException
+ * @throws IOException
+ */
+ @Private
+ @Unstable
+ public CancelDelegationTokenResponse cancelDelegationToken(
+ CancelDelegationTokenRequest request) throws YarnException, IOException;
+}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocol.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocol.java
index 864980b..c52288b 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocol.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocol.java
@@ -20,22 +20,13 @@
import java.io.IOException;
-import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest;
@@ -44,17 +35,13 @@
import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoResponse;
import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationRequest;
import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationResponse;
import org.apache.hadoop.yarn.api.records.ApplicationId;
-import org.apache.hadoop.yarn.api.records.ApplicationReport;
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
import org.apache.hadoop.yarn.api.records.NodeReport;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.api.records.ResourceRequest;
-import org.apache.hadoop.yarn.api.records.Token;
import org.apache.hadoop.yarn.api.records.YarnClusterMetrics;
import org.apache.hadoop.yarn.exceptions.YarnException;
@@ -65,7 +52,7 @@
*/
@Public
@Stable
-public interface ApplicationClientProtocol {
+public interface ApplicationClientProtocol extends ApplicationBaseProtocol{
/**
*
The interface used by clients to obtain a new {@link ApplicationId} for
* submitting new applications.
@@ -152,43 +139,6 @@ public KillApplicationResponse forceKillApplication(
throws YarnException, IOException;
/**
- * The interface used by clients to get a report of an Application from
- * the ResourceManager.
- *
- * The client, via {@link GetApplicationReportRequest} provides the
- * {@link ApplicationId} of the application.
- *
- * In secure mode,the ResourceManager verifies access to the
- * application, queue etc. before accepting the request.
- *
- * The ResourceManager responds with a
- * {@link GetApplicationReportResponse} which includes the
- * {@link ApplicationReport} for the application.
- *
- * If the user does not have VIEW_APP access then the
- * following fields in the report will be set to stubbed values:
- *
- * - host - set to "N/A"
- * - RPC port - set to -1
- * - client token - set to "N/A"
- * - diagnostics - set to "N/A"
- * - tracking URL - set to "N/A"
- * - original tracking URL - set to "N/A"
- * - resource usage report - all values are -1
- *
- *
- * @param request request for an application report
- * @return application report
- * @throws YarnException
- * @throws IOException
- */
- @Public
- @Stable
- public GetApplicationReportResponse getApplicationReport(
- GetApplicationReportRequest request)
- throws YarnException, IOException;
-
- /**
* The interface used by clients to get metrics about the cluster from
* the ResourceManager.
*
@@ -209,33 +159,6 @@ public GetClusterMetricsResponse getClusterMetrics(
throws YarnException, IOException;
/**
- * The interface used by clients to get a report of Applications
- * matching the filters defined by {@link GetApplicationsRequest}
- * in the cluster from the ResourceManager.
- *
- * The ResourceManager responds with a
- * {@link GetApplicationsResponse} which includes the
- * {@link ApplicationReport} for the applications.
- *
- * If the user does not have VIEW_APP access for an
- * application then the corresponding report will be filtered as
- * described in {@link #getApplicationReport(GetApplicationReportRequest)}.
- *
- *
- * @param request request for report on applications
- * @return report on applications matching the given application types
- * defined in the request
- * @throws YarnException
- * @throws IOException
- * @see GetApplicationsRequest
- */
- @Public
- @Stable
- public GetApplicationsResponse getApplications(
- GetApplicationsRequest request)
- throws YarnException, IOException;
-
- /**
* The interface used by clients to get a report of all nodes
* in the cluster from the ResourceManager.
*
@@ -294,49 +217,4 @@ public GetQueueUserAclsInfoResponse getQueueUserAcls(
GetQueueUserAclsInfoRequest request)
throws YarnException, IOException;
- /**
- * The interface used by clients to get delegation token, enabling the
- * containers to be able to talk to the service using those tokens.
- *
- *
The ResourceManager responds with the delegation
- * {@link Token} that can be used by the client to speak to this
- * service.
- * @param request request to get a delegation token for the client.
- * @return delegation token that can be used to talk to this service
- * @throws YarnException
- * @throws IOException
- */
- @Public
- @Stable
- public GetDelegationTokenResponse getDelegationToken(
- GetDelegationTokenRequest request)
- throws YarnException, IOException;
-
- /**
- * Renew an existing delegation {@link Token}.
- *
- * @param request the delegation token to be renewed.
- * @return the new expiry time for the delegation token.
- * @throws YarnException
- * @throws IOException
- */
- @Private
- @Unstable
- public RenewDelegationTokenResponse renewDelegationToken(
- RenewDelegationTokenRequest request) throws YarnException,
- IOException;
-
- /**
- * Cancel an existing delegation {@link Token}.
- *
- * @param request the delegation token to be cancelled.
- * @return an empty response.
- * @throws YarnException
- * @throws IOException
- */
- @Private
- @Unstable
- public CancelDelegationTokenResponse cancelDelegationToken(
- CancelDelegationTokenRequest request) throws YarnException,
- IOException;
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocol.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocol.java
index b10a1ad..35123c0 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocol.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocol.java
@@ -20,127 +20,63 @@
import java.io.IOException;
-import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
-import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest;
import org.apache.hadoop.yarn.api.protocolrecords.GetContainersResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
-import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest;
-import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptReport;
-import org.apache.hadoop.yarn.api.records.ApplicationId;
-import org.apache.hadoop.yarn.api.records.ApplicationReport;
import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.api.records.ContainerReport;
-import org.apache.hadoop.yarn.api.records.Token;
import org.apache.hadoop.yarn.exceptions.YarnException;
/**
- *
The protocol between clients and the ApplicationHistoryServer
- * to get the information of completed applications etc.
+ *
+ * The protocol between clients and the ApplicationHistoryServer to
+ * get the information of completed applications etc.
+ *
*/
@Public
@Unstable
-public interface ApplicationHistoryProtocol {
+public interface ApplicationHistoryProtocol extends ApplicationBaseProtocol {
/**
- * The interface used by clients to get a report of an Application from
- * the ResourceManager.
- *
- * The client, via {@link GetApplicationReportRequest} provides the
- * {@link ApplicationId} of the application.
- *
- * In secure mode,the ApplicationHistoryServer verifies
- * access to the application, queue etc. before accepting the request.
- *
- * The ApplicationHistoryServer responds with a
- * {@link GetApplicationReportResponse} which includes the
- * {@link ApplicationReport} for the application.
- *
- * If the user does not have VIEW_APP access then the
- * following fields in the report will be set to stubbed values:
- *
- * - host - set to "N/A"
- * - RPC port - set to -1
- * - client token - set to "N/A"
- * - diagnostics - set to "N/A"
- * - tracking URL - set to "N/A"
- * - original tracking URL - set to "N/A"
- * - resource usage report - all values are -1
- *
- *
- * @param request request for an application report
- * @return application report
- * @throws YarnException
- * @throws IOException
- */
- @Public
- @Unstable
- public GetApplicationReportResponse getApplicationReport(
- GetApplicationReportRequest request) throws YarnException, IOException;
-
- /**
- * The interface used by clients to get a report of all Applications
- * in the cluster from the ApplicationHistoryServer.
- *
- * The ApplicationHistoryServer responds with a
- * {@link GetApplicationsResponse} which includes a list of
- * {@link ApplicationReport} for all the applications.
- *
- * If the user does not have VIEW_APP access for an
- * application then the corresponding report will be filtered as
- * described in {@link #getApplicationReport(GetApplicationReportRequest)}.
+ *
+ * The interface used by clients to get a report of an Application Attempt
+ * from the ApplicationHistoryServer.
*
- *
- * @param request request for reports on all the applications
- * @return report on applications matching the given application types
- * defined in the request
- * @throws YarnException
- * @throws IOException
- */
- @Public
- @Unstable
- public GetApplicationsResponse getApplications(GetApplicationsRequest request)
- throws YarnException, IOException;
-
- /**
- * The interface used by clients to get a report of an Application Attempt
- * from the ApplicationHistoryServer.
- *
- * The client, via {@link GetApplicationAttemptReportRequest} provides the
- * {@link ApplicationAttemptId} of the application attempt.
- *
- * In secure mode,the ApplicationHistoryServer verifies access
- * to the method before accepting the request.
- *
- * The ApplicationHistoryServer responds with a
+ *
+ *
+ * The client, via {@link GetApplicationAttemptReportRequest} provides the
+ * {@link ApplicationAttemptId} of the application attempt.
+ *
+ *
+ *
+ * In secure mode,the ApplicationHistoryServer verifies access to
+ * the method before accepting the request.
+ *
+ *
+ *
+ * The ApplicationHistoryServer responds with a
* {@link GetApplicationAttemptReportResponse} which includes the
- * {@link ApplicationAttemptReport} for the application attempt.
- *
+ * {@link ApplicationAttemptReport} for the application attempt.
+ *
+ *
*
* If the user does not have VIEW_APP access then the following
* fields in the report will be set to stubbed values:
*
- * - host
- * - RPC port
- * - client token
+ * - host
+ * - RPC port
+ * - client token
* - diagnostics - set to "N/A"
- * - tracking URL
+ * - tracking URL
*
*
*
@@ -157,17 +93,23 @@ public GetApplicationAttemptReportResponse getApplicationAttemptReport(
IOException;
/**
- * The interface used by clients to get a report of all Application
- * attempts in the cluster from the ApplicationHistoryServer.
- *
- * The ApplicationHistoryServer responds with a
+ *
+ * The interface used by clients to get a report of all Application attempts
+ * in the cluster from the ApplicationHistoryServer.
+ *
+ *
+ *
+ * The ApplicationHistoryServer responds with a
* {@link GetApplicationAttemptsRequest} which includes the
* {@link ApplicationAttemptReport} for all the applications attempts of a
- * specified application attempt.
+ * specified application attempt.
+ *
*
- * If the user does not have VIEW_APP access for an application
+ *
+ * If the user does not have VIEW_APP access for an application
* then the corresponding report will be filtered as described in
- * {@link #getApplicationAttemptReport(GetApplicationAttemptReportRequest)}.
+ * {@link #getApplicationAttemptReport(GetApplicationAttemptReportRequest)}.
+ *
*
* @param request
* request for reports on all application attempts of an application
@@ -179,20 +121,28 @@ public GetApplicationAttemptReportResponse getApplicationAttemptReport(
@Unstable
public GetApplicationAttemptsResponse getApplicationAttempts(
GetApplicationAttemptsRequest request) throws YarnException, IOException;
-
+
/**
- * The interface used by clients to get a report of an Container from the
- * ApplicationHistoryServer.
+ *
+ * The interface used by clients to get a report of an Container from the
+ * ApplicationHistoryServer.
+ *
*
- * The client, via {@link GetContainerReportRequest} provides the
- * {@link ContainerId} of the container.
+ *
+ * The client, via {@link GetContainerReportRequest} provides the
+ * {@link ContainerId} of the container.
+ *
*
- * In secure mode,the ApplicationHistoryServer verifies access
- * to the method before accepting the request.
+ *
+ * In secure mode,the ApplicationHistoryServer verifies access to
+ * the method before accepting the request.
+ *
*
- * The ApplicationHistoryServer responds with a
+ *
+ * The ApplicationHistoryServer responds with a
* {@link GetContainerReportResponse} which includes the
- * {@link ContainerReport} for the container.
+ * {@link ContainerReport} for the container.
+ *
*
* @param request
* request for a container report
@@ -202,23 +152,31 @@ public GetApplicationAttemptsResponse getApplicationAttempts(
*/
@Public
@Unstable
- public GetContainerReportResponse getContainer(
+ public GetContainerReportResponse getContainerReport(
GetContainerReportRequest request) throws YarnException, IOException;
/**
- * The interface used by clients to get a report of Containers for an
- * application attempt from the ApplciationHistoryServer.
+ *
+ * The interface used by clients to get a report of Containers for an
+ * application attempt from the ApplciationHistoryServer.
+ *
*
- * The client, via {@link GetContainersRequest} provides the
- * {@link ApplicationAttemptId} of the application attempt.
+ *
+ * The client, via {@link GetContainersRequest} provides the
+ * {@link ApplicationAttemptId} of the application attempt.
+ *
*
- * In secure mode,the ApplicationHistoryServer verifies access
- * to the method before accepting the request.
+ *
+ * In secure mode,the ApplicationHistoryServer verifies access to
+ * the method before accepting the request.
+ *
*
- * The ApplicationHistoryServer responds with a
+ *
+ * The ApplicationHistoryServer responds with a
* {@link GetContainersResponse} which includes a list of
* {@link ContainerReport} for all the containers of a specific application
- * attempt.
+ * attempt.
+ *
*
* @param request
* request for a list of container reports of an application attempt.
@@ -230,48 +188,5 @@ public GetContainerReportResponse getContainer(
@Unstable
public GetContainersResponse getContainers(GetContainersRequest request)
throws YarnException, IOException;
-
- /**
- * The interface used by clients to get delegation token, enabling the
- * containers to be able to talk to the service using those tokens.
- *
- * The ApplicationHistoryServer responds with the delegation
- * token {@link Token} that can be used by the client to speak to this
- * service.
- *
- * @param request request to get a delegation token for the client.
- * @return delegation token that can be used to talk to this service
- * @throws YarnException
- * @throws IOException
- */
- @Public
- @Unstable
- public GetDelegationTokenResponse getDelegationToken(
- GetDelegationTokenRequest request) throws YarnException, IOException;
-
- /**
- * Renew an existing delegation token.
- *
- * @param request the delegation token to be renewed.
- * @return the new expiry time for the delegation token.
- * @throws YarnException
- * @throws IOException
- */
- @Private
- @Unstable
- public RenewDelegationTokenResponse renewDelegationToken(
- RenewDelegationTokenRequest request) throws YarnException, IOException;
- /**
- * Cancel an existing delegation token.
- *
- * @param request the delegation token to be cancelled.
- * @return an empty response.
- * @throws YarnException
- * @throws IOException
- */
- @Private
- @Unstable
- public CancelDelegationTokenResponse cancelDelegationToken(
- CancelDelegationTokenRequest request) throws YarnException, IOException;
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/application_base_protocol.proto hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/application_base_protocol.proto
new file mode 100644
index 0000000..e585271
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/application_base_protocol.proto
@@ -0,0 +1,35 @@
+/**
+ * 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.
+ */
+
+option java_package = "org.apache.hadoop.yarn.proto";
+option java_outer_classname = "ApplicationBaseProtocol";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+package hadoop.yarn;
+
+import "Security.proto";
+import "yarn_service_protos.proto";
+
+service ApplicationBaseProtocolService {
+ rpc getApplicationReport (GetApplicationReportRequestProto) returns (GetApplicationReportResponseProto);
+ rpc getApplications (GetApplicationsRequestProto) returns (GetApplicationsResponseProto);
+ rpc getDelegationToken(hadoop.common.GetDelegationTokenRequestProto) returns (hadoop.common.GetDelegationTokenResponseProto);
+ rpc renewDelegationToken(hadoop.common.RenewDelegationTokenRequestProto) returns (hadoop.common.RenewDelegationTokenResponseProto);
+ rpc cancelDelegationToken(hadoop.common.CancelDelegationTokenRequestProto) returns (hadoop.common.CancelDelegationTokenResponseProto);
+}
+
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocolPB.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocolPB.java
new file mode 100644
index 0000000..d07b715
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationBaseProtocolPB.java
@@ -0,0 +1,31 @@
+/**
+ * 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.api;
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.ipc.ProtocolInfo;
+import org.apache.hadoop.yarn.proto.ApplicationBaseProtocol.ApplicationBaseProtocolService;
+
+@Private
+@Unstable
+@ProtocolInfo(protocolName = "org.apache.hadoop.yarn.api.ApplicationBaseProtocolPB", protocolVersion = 1)
+public interface ApplicationBaseProtocolPB extends
+ ApplicationBaseProtocolService.BlockingInterface {
+}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocolPB.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocolPB.java
index 9e50c54..0aa04f0 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocolPB.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationClientProtocolPB.java
@@ -21,11 +21,12 @@
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.ipc.ProtocolInfo;
import org.apache.hadoop.yarn.proto.ApplicationClientProtocol.ApplicationClientProtocolService;
+import org.apache.hadoop.yarn.proto.ApplicationBaseProtocol.ApplicationBaseProtocolService;
@Private
@Unstable
@ProtocolInfo(protocolName = "org.apache.hadoop.yarn.api.ApplicationClientProtocolPB",
protocolVersion = 1)
-public interface ApplicationClientProtocolPB extends ApplicationClientProtocolService.BlockingInterface {
-
+public interface ApplicationClientProtocolPB extends
+ ApplicationClientProtocolService.BlockingInterface {
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocolPB.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocolPB.java
new file mode 100644
index 0000000..bfebf32
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/ApplicationHistoryProtocolPB.java
@@ -0,0 +1,32 @@
+/**
+ * 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.api;
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.ipc.ProtocolInfo;
+import org.apache.hadoop.yarn.proto.ApplicationHistoryProtocol.ApplicationHistoryProtocolService;
+import org.apache.hadoop.yarn.proto.ApplicationBaseProtocol.ApplicationBaseProtocolService;
+
+@Private
+@Unstable
+@ProtocolInfo(protocolName = "org.apache.hadoop.yarn.api.ApplicationHistoryProtocolPB", protocolVersion = 1)
+public interface ApplicationHistoryProtocolPB extends
+ ApplicationHistoryProtocolService.BlockingInterface {
+}
\ No newline at end of file
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/client/ApplicationHistoryProtocolPBClientImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/client/ApplicationHistoryProtocolPBClientImpl.java
new file mode 100644
index 0000000..d6c3181
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/client/ApplicationHistoryProtocolPBClientImpl.java
@@ -0,0 +1,231 @@
+/**
+ * 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.api.impl.pb.client;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.net.InetSocketAddress;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.ipc.ProtobufRpcEngine;
+import org.apache.hadoop.ipc.RPC;
+import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.RenewDelegationTokenRequestProto;
+import org.apache.hadoop.yarn.api.ApplicationClientProtocolPB;
+import org.apache.hadoop.yarn.api.ApplicationHistoryProtocol;
+import org.apache.hadoop.yarn.api.ApplicationHistoryProtocolPB;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainersResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptsRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptsResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainerReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainerReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainersRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainersResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+import org.apache.hadoop.yarn.ipc.RPCUtil;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationsRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptsRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainerReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainersRequestProto;
+
+import com.google.protobuf.ServiceException;
+
+public class ApplicationHistoryProtocolPBClientImpl implements
+ ApplicationHistoryProtocol, Closeable {
+
+ private ApplicationHistoryProtocolPB proxy;
+
+ public ApplicationHistoryProtocolPBClientImpl(long clientVersion,
+ InetSocketAddress addr, Configuration conf) throws IOException {
+ RPC.setProtocolEngine(conf, ApplicationHistoryProtocolPB.class,
+ ProtobufRpcEngine.class);
+ proxy = RPC.getProxy(ApplicationHistoryProtocolPB.class, clientVersion,
+ addr, conf);
+ }
+
+ @Override
+ public void close() throws IOException {
+ if (this.proxy != null) {
+ RPC.stopProxy(this.proxy);
+ }
+ }
+
+ @Override
+ public GetApplicationReportResponse getApplicationReport(
+ GetApplicationReportRequest request) throws YarnException, IOException {
+ GetApplicationReportRequestProto requestProto = ((GetApplicationReportRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetApplicationReportResponsePBImpl(proxy.getApplicationReport(
+ null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetApplicationsResponse getApplications(GetApplicationsRequest request)
+ throws YarnException, IOException {
+ GetApplicationsRequestProto requestProto = ((GetApplicationsRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetApplicationsResponsePBImpl(proxy.getApplications(null,
+ requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetApplicationAttemptReportResponse getApplicationAttemptReport(
+ GetApplicationAttemptReportRequest request) throws YarnException,
+ IOException {
+ GetApplicationAttemptReportRequestProto requestProto = ((GetApplicationAttemptReportRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetApplicationAttemptReportResponsePBImpl(proxy
+ .getApplicationAttemptReport(null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetApplicationAttemptsResponse getApplicationAttempts(
+ GetApplicationAttemptsRequest request) throws YarnException, IOException {
+ GetApplicationAttemptsRequestProto requestProto = ((GetApplicationAttemptsRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetApplicationAttemptsResponsePBImpl(proxy
+ .getApplicationAttempts(null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetContainerReportResponse getContainerReport(
+ GetContainerReportRequest request) throws YarnException, IOException {
+ GetContainerReportRequestProto requestProto = ((GetContainerReportRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetContainerReportResponsePBImpl(proxy.getContainerReport(
+ null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetContainersResponse getContainers(GetContainersRequest request)
+ throws YarnException, IOException {
+ GetContainersRequestProto requestProto = ((GetContainersRequestPBImpl) request)
+ .getProto();
+ try {
+ return new GetContainersResponsePBImpl(proxy.getContainers(null,
+ requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public GetDelegationTokenResponse getDelegationToken(
+ GetDelegationTokenRequest request) throws YarnException,
+ IOException {
+ GetDelegationTokenRequestProto requestProto =
+ ((GetDelegationTokenRequestPBImpl) request).getProto();
+ try {
+ return new GetDelegationTokenResponsePBImpl(proxy.getDelegationToken(
+ null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public RenewDelegationTokenResponse renewDelegationToken(
+ RenewDelegationTokenRequest request) throws YarnException,
+ IOException {
+ RenewDelegationTokenRequestProto requestProto =
+ ((RenewDelegationTokenRequestPBImpl) request).getProto();
+ try {
+ return new RenewDelegationTokenResponsePBImpl(proxy.renewDelegationToken(
+ null, requestProto));
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+
+ @Override
+ public CancelDelegationTokenResponse cancelDelegationToken(
+ CancelDelegationTokenRequest request) throws YarnException,
+ IOException {
+ CancelDelegationTokenRequestProto requestProto =
+ ((CancelDelegationTokenRequestPBImpl) request).getProto();
+ try {
+ return new CancelDelegationTokenResponsePBImpl(
+ proxy.cancelDelegationToken(null, requestProto));
+
+ } catch (ServiceException e) {
+ RPCUtil.unwrapAndThrowException(e);
+ return null;
+ }
+ }
+}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationBaseProtocolPBServiceImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationBaseProtocolPBServiceImpl.java
new file mode 100644
index 0000000..fa3ffe9
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationBaseProtocolPBServiceImpl.java
@@ -0,0 +1,146 @@
+/**
+ * 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.api.impl.pb.service;
+
+import java.io.IOException;
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenResponseProto;
+import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenResponseProto;
+import org.apache.hadoop.security.proto.SecurityProtos.RenewDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.RenewDelegationTokenResponseProto;
+import org.apache.hadoop.yarn.api.ApplicationBaseProtocol;
+import org.apache.hadoop.yarn.api.ApplicationBaseProtocolPB;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationReportResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationsRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationsResponseProto;
+
+import com.google.protobuf.RpcController;
+import com.google.protobuf.ServiceException;
+
+@Private
+public class ApplicationBaseProtocolPBServiceImpl implements
+ ApplicationBaseProtocolPB {
+ private ApplicationBaseProtocol real;
+
+ public ApplicationBaseProtocolPBServiceImpl(ApplicationBaseProtocol impl) {
+ this.real = impl;
+ }
+
+ @Override
+ public GetApplicationReportResponseProto getApplicationReport(
+ RpcController arg0, GetApplicationReportRequestProto proto)
+ throws ServiceException {
+ GetApplicationReportRequestPBImpl request = new GetApplicationReportRequestPBImpl(
+ proto);
+ try {
+ GetApplicationReportResponse response = real
+ .getApplicationReport(request);
+ return ((GetApplicationReportResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public GetApplicationsResponseProto getApplications(RpcController controller,
+ GetApplicationsRequestProto proto) throws ServiceException {
+ GetApplicationsRequestPBImpl request = new GetApplicationsRequestPBImpl(
+ proto);
+ try {
+ GetApplicationsResponse response = real.getApplications(request);
+ return ((GetApplicationsResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public GetDelegationTokenResponseProto getDelegationToken(
+ RpcController controller, GetDelegationTokenRequestProto proto)
+ throws ServiceException {
+ GetDelegationTokenRequestPBImpl request = new GetDelegationTokenRequestPBImpl(
+ proto);
+ try {
+ GetDelegationTokenResponse response = real.getDelegationToken(request);
+ return ((GetDelegationTokenResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public RenewDelegationTokenResponseProto renewDelegationToken(
+ RpcController controller, RenewDelegationTokenRequestProto proto)
+ throws ServiceException {
+ RenewDelegationTokenRequestPBImpl request = new RenewDelegationTokenRequestPBImpl(
+ proto);
+ try {
+ RenewDelegationTokenResponse response = real
+ .renewDelegationToken(request);
+ return ((RenewDelegationTokenResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public CancelDelegationTokenResponseProto cancelDelegationToken(
+ RpcController controller, CancelDelegationTokenRequestProto proto)
+ throws ServiceException {
+ CancelDelegationTokenRequestPBImpl request = new CancelDelegationTokenRequestPBImpl(
+ proto);
+ try {
+ CancelDelegationTokenResponse response = real
+ .cancelDelegationToken(request);
+ return ((CancelDelegationTokenResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationClientProtocolPBServiceImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationClientProtocolPBServiceImpl.java
index b38819d..6e356ab 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationClientProtocolPBServiceImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationClientProtocolPBServiceImpl.java
@@ -89,36 +89,24 @@
import com.google.protobuf.ServiceException;
@Private
-public class ApplicationClientProtocolPBServiceImpl implements ApplicationClientProtocolPB {
+public class ApplicationClientProtocolPBServiceImpl extends
+ ApplicationBaseProtocolPBServiceImpl implements ApplicationClientProtocolPB {
private ApplicationClientProtocol real;
-
+
public ApplicationClientProtocolPBServiceImpl(ApplicationClientProtocol impl) {
+ super(impl);
this.real = impl;
}
-
+
@Override
public KillApplicationResponseProto forceKillApplication(RpcController arg0,
KillApplicationRequestProto proto) throws ServiceException {
- KillApplicationRequestPBImpl request = new KillApplicationRequestPBImpl(proto);
+ KillApplicationRequestPBImpl request = new KillApplicationRequestPBImpl(
+ proto);
try {
KillApplicationResponse response = real.forceKillApplication(request);
- return ((KillApplicationResponsePBImpl)response).getProto();
- } catch (YarnException e) {
- throw new ServiceException(e);
- } catch (IOException e) {
- throw new ServiceException(e);
- }
- }
-
- @Override
- public GetApplicationReportResponseProto getApplicationReport(
- RpcController arg0, GetApplicationReportRequestProto proto)
- throws ServiceException {
- GetApplicationReportRequestPBImpl request = new GetApplicationReportRequestPBImpl(proto);
- try {
- GetApplicationReportResponse response = real.getApplicationReport(request);
- return ((GetApplicationReportResponsePBImpl)response).getProto();
+ return ((KillApplicationResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -129,10 +117,11 @@ public GetApplicationReportResponseProto getApplicationReport(
@Override
public GetClusterMetricsResponseProto getClusterMetrics(RpcController arg0,
GetClusterMetricsRequestProto proto) throws ServiceException {
- GetClusterMetricsRequestPBImpl request = new GetClusterMetricsRequestPBImpl(proto);
+ GetClusterMetricsRequestPBImpl request = new GetClusterMetricsRequestPBImpl(
+ proto);
try {
GetClusterMetricsResponse response = real.getClusterMetrics(request);
- return ((GetClusterMetricsResponsePBImpl)response).getProto();
+ return ((GetClusterMetricsResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -141,13 +130,13 @@ public GetClusterMetricsResponseProto getClusterMetrics(RpcController arg0,
}
@Override
- public GetNewApplicationResponseProto getNewApplication(
- RpcController arg0, GetNewApplicationRequestProto proto)
- throws ServiceException {
- GetNewApplicationRequestPBImpl request = new GetNewApplicationRequestPBImpl(proto);
+ public GetNewApplicationResponseProto getNewApplication(RpcController arg0,
+ GetNewApplicationRequestProto proto) throws ServiceException {
+ GetNewApplicationRequestPBImpl request = new GetNewApplicationRequestPBImpl(
+ proto);
try {
GetNewApplicationResponse response = real.getNewApplication(request);
- return ((GetNewApplicationResponsePBImpl)response).getProto();
+ return ((GetNewApplicationResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -158,26 +147,11 @@ public GetNewApplicationResponseProto getNewApplication(
@Override
public SubmitApplicationResponseProto submitApplication(RpcController arg0,
SubmitApplicationRequestProto proto) throws ServiceException {
- SubmitApplicationRequestPBImpl request = new SubmitApplicationRequestPBImpl(proto);
+ SubmitApplicationRequestPBImpl request = new SubmitApplicationRequestPBImpl(
+ proto);
try {
SubmitApplicationResponse response = real.submitApplication(request);
- return ((SubmitApplicationResponsePBImpl)response).getProto();
- } catch (YarnException e) {
- throw new ServiceException(e);
- } catch (IOException e) {
- throw new ServiceException(e);
- }
- }
-
- @Override
- public GetApplicationsResponseProto getApplications(
- RpcController controller, GetApplicationsRequestProto proto)
- throws ServiceException {
- GetApplicationsRequestPBImpl request =
- new GetApplicationsRequestPBImpl(proto);
- try {
- GetApplicationsResponse response = real.getApplications(request);
- return ((GetApplicationsResponsePBImpl)response).getProto();
+ return ((SubmitApplicationResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -188,11 +162,11 @@ public GetApplicationsResponseProto getApplications(
@Override
public GetClusterNodesResponseProto getClusterNodes(RpcController controller,
GetClusterNodesRequestProto proto) throws ServiceException {
- GetClusterNodesRequestPBImpl request =
- new GetClusterNodesRequestPBImpl(proto);
+ GetClusterNodesRequestPBImpl request = new GetClusterNodesRequestPBImpl(
+ proto);
try {
GetClusterNodesResponse response = real.getClusterNodes(request);
- return ((GetClusterNodesResponsePBImpl)response).getProto();
+ return ((GetClusterNodesResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -203,11 +177,10 @@ public GetClusterNodesResponseProto getClusterNodes(RpcController controller,
@Override
public GetQueueInfoResponseProto getQueueInfo(RpcController controller,
GetQueueInfoRequestProto proto) throws ServiceException {
- GetQueueInfoRequestPBImpl request =
- new GetQueueInfoRequestPBImpl(proto);
+ GetQueueInfoRequestPBImpl request = new GetQueueInfoRequestPBImpl(proto);
try {
GetQueueInfoResponse response = real.getQueueInfo(request);
- return ((GetQueueInfoResponsePBImpl)response).getProto();
+ return ((GetQueueInfoResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
@@ -219,63 +192,15 @@ public GetQueueInfoResponseProto getQueueInfo(RpcController controller,
public GetQueueUserAclsInfoResponseProto getQueueUserAcls(
RpcController controller, GetQueueUserAclsInfoRequestProto proto)
throws ServiceException {
- GetQueueUserAclsInfoRequestPBImpl request =
- new GetQueueUserAclsInfoRequestPBImpl(proto);
+ GetQueueUserAclsInfoRequestPBImpl request = new GetQueueUserAclsInfoRequestPBImpl(
+ proto);
try {
GetQueueUserAclsInfoResponse response = real.getQueueUserAcls(request);
- return ((GetQueueUserAclsInfoResponsePBImpl)response).getProto();
+ return ((GetQueueUserAclsInfoResponsePBImpl) response).getProto();
} catch (YarnException e) {
throw new ServiceException(e);
} catch (IOException e) {
throw new ServiceException(e);
}
}
-
- @Override
- public GetDelegationTokenResponseProto getDelegationToken(
- RpcController controller, GetDelegationTokenRequestProto proto)
- throws ServiceException {
- GetDelegationTokenRequestPBImpl request =
- new GetDelegationTokenRequestPBImpl(proto);
- try {
- GetDelegationTokenResponse response = real.getDelegationToken(request);
- return ((GetDelegationTokenResponsePBImpl)response).getProto();
- } catch (YarnException e) {
- throw new ServiceException(e);
- } catch (IOException e) {
- throw new ServiceException(e);
- }
- }
-
- @Override
- public RenewDelegationTokenResponseProto renewDelegationToken(
- RpcController controller, RenewDelegationTokenRequestProto proto)
- throws ServiceException {
- RenewDelegationTokenRequestPBImpl request =
- new RenewDelegationTokenRequestPBImpl(proto);
- try {
- RenewDelegationTokenResponse response = real.renewDelegationToken(request);
- return ((RenewDelegationTokenResponsePBImpl)response).getProto();
- } catch (YarnException e) {
- throw new ServiceException(e);
- } catch (IOException e) {
- throw new ServiceException(e);
- }
- }
-
- @Override
- public CancelDelegationTokenResponseProto cancelDelegationToken(
- RpcController controller, CancelDelegationTokenRequestProto proto)
- throws ServiceException {
- CancelDelegationTokenRequestPBImpl request =
- new CancelDelegationTokenRequestPBImpl(proto);
- try {
- CancelDelegationTokenResponse response = real.cancelDelegationToken(request);
- return ((CancelDelegationTokenResponsePBImpl)response).getProto();
- } catch (YarnException e) {
- throw new ServiceException(e);
- } catch (IOException e) {
- throw new ServiceException(e);
- }
- }
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationHistoryProtocolPBServiceImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationHistoryProtocolPBServiceImpl.java
new file mode 100644
index 0000000..eef88df
--- /dev/null
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/service/ApplicationHistoryProtocolPBServiceImpl.java
@@ -0,0 +1,154 @@
+/**
+ * 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.api.impl.pb.service;
+
+import java.io.IOException;
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenResponseProto;
+import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenResponseProto;
+import org.apache.hadoop.security.proto.SecurityProtos.RenewDelegationTokenRequestProto;
+import org.apache.hadoop.security.proto.SecurityProtos.RenewDelegationTokenResponseProto;
+import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
+import org.apache.hadoop.yarn.api.ApplicationHistoryProtocol;
+import org.apache.hadoop.yarn.api.ApplicationHistoryProtocolPB;
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainersResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.CancelDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptsRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationAttemptsResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainerReportRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainerReportResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainersRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetContainersResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenRequestPBImpl;
+import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RenewDelegationTokenResponsePBImpl;
+import org.apache.hadoop.yarn.exceptions.YarnException;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationReportResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationsRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationsResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptReportResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptsRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetApplicationAttemptsResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainerReportRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainerReportResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainersRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServiceProtos.GetContainersResponseProto;
+
+import com.google.protobuf.RpcController;
+import com.google.protobuf.ServiceException;
+
+@Private
+public class ApplicationHistoryProtocolPBServiceImpl extends
+ ApplicationBaseProtocolPBServiceImpl implements
+ ApplicationHistoryProtocolPB {
+ private ApplicationHistoryProtocol real;
+
+ public ApplicationHistoryProtocolPBServiceImpl(ApplicationHistoryProtocol impl) {
+ super(impl);
+ this.real = impl;
+ }
+
+ @Override
+ public GetApplicationAttemptReportResponseProto getApplicationAttemptReport(
+ RpcController controller, GetApplicationAttemptReportRequestProto proto)
+ throws ServiceException {
+ GetApplicationAttemptReportRequestPBImpl request = new GetApplicationAttemptReportRequestPBImpl(
+ proto);
+ try {
+ GetApplicationAttemptReportResponse response = real
+ .getApplicationAttemptReport(request);
+ return ((GetApplicationAttemptReportResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public GetApplicationAttemptsResponseProto getApplicationAttempts(
+ RpcController controller, GetApplicationAttemptsRequestProto proto)
+ throws ServiceException {
+ GetApplicationAttemptsRequestPBImpl request = new GetApplicationAttemptsRequestPBImpl(
+ proto);
+ try {
+ GetApplicationAttemptsResponse response = real
+ .getApplicationAttempts(request);
+ return ((GetApplicationAttemptsResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public GetContainerReportResponseProto getContainerReport(
+ RpcController controller, GetContainerReportRequestProto proto)
+ throws ServiceException {
+ GetContainerReportRequestPBImpl request = new GetContainerReportRequestPBImpl(
+ proto);
+ try {
+ GetContainerReportResponse response = real.getContainerReport(request);
+ return ((GetContainerReportResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public GetContainersResponseProto getContainers(RpcController controller,
+ GetContainersRequestProto proto) throws ServiceException {
+ GetContainersRequestPBImpl request = new GetContainersRequestPBImpl(proto);
+ try {
+ GetContainersResponse response = real.getContainers(request);
+ return ((GetContainersResponsePBImpl) response).getProto();
+ } catch (YarnException e) {
+ throw new ServiceException(e);
+ } catch (IOException e) {
+ throw new ServiceException(e);
+ }
+ }
+}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/AHSClientService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/AHSClientService.java
index cf6ccc5..35cfecf 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/AHSClientService.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/AHSClientService.java
@@ -100,7 +100,7 @@ public GetApplicationAttemptsResponse getApplicationAttempts(
}
@Override
- public GetContainerReportResponse getContainer(
+ public GetContainerReportResponse getContainerReport(
GetContainerReportRequest request) throws YarnException, IOException {
// TODO Auto-generated method stub
return null;