YARN-631. Changed ClientRMProtocol api to throw IOException and YarnRemoteException. Contributed by Xuan Gong.
MAPREDUCE-5212. Handling YarnRemoteException separately from IOException in MR App after YARN-631. Contributed by Xuan Gong. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1480494 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e5692ecbe1
commit
0727ecaf50
|
@ -389,6 +389,9 @@ Release 2.0.5-beta - UNRELEASED
|
||||||
MAPREDUCE-5209. Fix units in a ShuffleScheduler log message.
|
MAPREDUCE-5209. Fix units in a ShuffleScheduler log message.
|
||||||
(Tsuyoshi OZAWA via cdouglas)
|
(Tsuyoshi OZAWA via cdouglas)
|
||||||
|
|
||||||
|
MAPREDUCE-5212. Handling YarnRemoteException separately from IOException in
|
||||||
|
MR App after YARN-631. (Xuan Gong via vinodkv)
|
||||||
|
|
||||||
Release 2.0.4-alpha - 2013-04-25
|
Release 2.0.4-alpha - 2013-04-25
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -137,7 +137,7 @@ public class ClientServiceDelegate {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MRClientProtocol getProxy() throws YarnRemoteException {
|
private MRClientProtocol getProxy() throws YarnRemoteException, IOException {
|
||||||
if (realProxy != null) {
|
if (realProxy != null) {
|
||||||
return realProxy;
|
return realProxy;
|
||||||
}
|
}
|
||||||
|
|
|
@ -362,7 +362,7 @@ public class TestClientServiceDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void testRMDownForJobStatusBeforeGetAMReport(Configuration conf,
|
private void testRMDownForJobStatusBeforeGetAMReport(Configuration conf,
|
||||||
int noOfRetries) throws YarnRemoteException {
|
int noOfRetries) throws YarnRemoteException, IOException {
|
||||||
conf.set(MRConfig.FRAMEWORK_NAME, MRConfig.YARN_FRAMEWORK_NAME);
|
conf.set(MRConfig.FRAMEWORK_NAME, MRConfig.YARN_FRAMEWORK_NAME);
|
||||||
conf.setBoolean(MRJobConfig.JOB_AM_ACCESS_DISABLED,
|
conf.setBoolean(MRJobConfig.JOB_AM_ACCESS_DISABLED,
|
||||||
!isAMReachableFromClient);
|
!isAMReachableFromClient);
|
||||||
|
@ -429,7 +429,8 @@ public class TestClientServiceDelegate {
|
||||||
"N/A", 0.0f);
|
"N/A", 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResourceMgrDelegate getRMDelegate() throws YarnRemoteException {
|
private ResourceMgrDelegate getRMDelegate() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
ResourceMgrDelegate rm = mock(ResourceMgrDelegate.class);
|
ResourceMgrDelegate rm = mock(ResourceMgrDelegate.class);
|
||||||
when(rm.getApplicationReport(jobId.getAppId())).thenReturn(null);
|
when(rm.getApplicationReport(jobId.getAppId())).thenReturn(null);
|
||||||
return rm;
|
return rm;
|
||||||
|
|
|
@ -118,6 +118,9 @@ Release 2.0.5-beta - UNRELEASED
|
||||||
YARN-632. Changed ContainerManager api to throw IOException and
|
YARN-632. Changed ContainerManager api to throw IOException and
|
||||||
YarnRemoteException. (Xuan Gong via vinodkv)
|
YarnRemoteException. (Xuan Gong via vinodkv)
|
||||||
|
|
||||||
|
YARN-631. Changed ClientRMProtocol api to throw IOException and
|
||||||
|
YarnRemoteException. (Xuan Gong via vinodkv)
|
||||||
|
|
||||||
NEW FEATURES
|
NEW FEATURES
|
||||||
|
|
||||||
YARN-482. FS: Extend SchedulingMode to intermediate queues.
|
YARN-482. FS: Extend SchedulingMode to intermediate queues.
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.api;
|
package org.apache.hadoop.yarn.api;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
||||||
import org.apache.hadoop.classification.InterfaceAudience.Public;
|
import org.apache.hadoop.classification.InterfaceAudience.Public;
|
||||||
import org.apache.hadoop.classification.InterfaceStability.Stable;
|
import org.apache.hadoop.classification.InterfaceStability.Stable;
|
||||||
|
@ -78,11 +80,12 @@ public interface ClientRMProtocol {
|
||||||
* @return response containing the new <code>ApplicationId</code> to be used
|
* @return response containing the new <code>ApplicationId</code> to be used
|
||||||
* to submit an application
|
* to submit an application
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
* @see #submitApplication(SubmitApplicationRequest)
|
* @see #submitApplication(SubmitApplicationRequest)
|
||||||
*/
|
*/
|
||||||
public GetNewApplicationResponse getNewApplication(
|
public GetNewApplicationResponse getNewApplication(
|
||||||
GetNewApplicationRequest request)
|
GetNewApplicationRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to submit a new application to the
|
* <p>The interface used by clients to submit a new application to the
|
||||||
|
@ -106,11 +109,12 @@ public interface ClientRMProtocol {
|
||||||
* @param request request to submit a new application
|
* @param request request to submit a new application
|
||||||
* @return (empty) response on accepting the submission
|
* @return (empty) response on accepting the submission
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
* @see #getNewApplication(GetNewApplicationRequest)
|
* @see #getNewApplication(GetNewApplicationRequest)
|
||||||
*/
|
*/
|
||||||
public SubmitApplicationResponse submitApplication(
|
public SubmitApplicationResponse submitApplication(
|
||||||
SubmitApplicationRequest request)
|
SubmitApplicationRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to request the
|
* <p>The interface used by clients to request the
|
||||||
|
@ -129,11 +133,12 @@ public interface ClientRMProtocol {
|
||||||
* @return <code>ResourceManager</code> returns an empty response
|
* @return <code>ResourceManager</code> returns an empty response
|
||||||
* on success and throws an exception on rejecting the request
|
* on success and throws an exception on rejecting the request
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
* @see #getQueueUserAcls(GetQueueUserAclsInfoRequest)
|
* @see #getQueueUserAcls(GetQueueUserAclsInfoRequest)
|
||||||
*/
|
*/
|
||||||
public KillApplicationResponse forceKillApplication(
|
public KillApplicationResponse forceKillApplication(
|
||||||
KillApplicationRequest request)
|
KillApplicationRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get a report of an Application from
|
* <p>The interface used by clients to get a report of an Application from
|
||||||
|
@ -164,10 +169,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request for an application report
|
* @param request request for an application report
|
||||||
* @return application report
|
* @return application report
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetApplicationReportResponse getApplicationReport(
|
public GetApplicationReportResponse getApplicationReport(
|
||||||
GetApplicationReportRequest request)
|
GetApplicationReportRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get metrics about the cluster from
|
* <p>The interface used by clients to get metrics about the cluster from
|
||||||
|
@ -181,10 +187,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request for cluster metrics
|
* @param request request for cluster metrics
|
||||||
* @return cluster metrics
|
* @return cluster metrics
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetClusterMetricsResponse getClusterMetrics(
|
public GetClusterMetricsResponse getClusterMetrics(
|
||||||
GetClusterMetricsRequest request)
|
GetClusterMetricsRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get a report of all Applications
|
* <p>The interface used by clients to get a report of all Applications
|
||||||
|
@ -202,10 +209,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request for report on all running applications
|
* @param request request for report on all running applications
|
||||||
* @return report on all running applications
|
* @return report on all running applications
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetAllApplicationsResponse getAllApplications(
|
public GetAllApplicationsResponse getAllApplications(
|
||||||
GetAllApplicationsRequest request)
|
GetAllApplicationsRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get a report of all nodes
|
* <p>The interface used by clients to get a report of all nodes
|
||||||
|
@ -218,10 +226,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request for report on all nodes
|
* @param request request for report on all nodes
|
||||||
* @return report on all nodes
|
* @return report on all nodes
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetClusterNodesResponse getClusterNodes(
|
public GetClusterNodesResponse getClusterNodes(
|
||||||
GetClusterNodesRequest request)
|
GetClusterNodesRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get information about <em>queues</em>
|
* <p>The interface used by clients to get information about <em>queues</em>
|
||||||
|
@ -236,10 +245,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request to get queue information
|
* @param request request to get queue information
|
||||||
* @return queue information
|
* @return queue information
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetQueueInfoResponse getQueueInfo(
|
public GetQueueInfoResponse getQueueInfo(
|
||||||
GetQueueInfoRequest request)
|
GetQueueInfoRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get information about <em>queue
|
* <p>The interface used by clients to get information about <em>queue
|
||||||
|
@ -252,10 +262,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request to get queue acls for <em>current user</em>
|
* @param request request to get queue acls for <em>current user</em>
|
||||||
* @return queue acls for <em>current user</em>
|
* @return queue acls for <em>current user</em>
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetQueueUserAclsInfoResponse getQueueUserAcls(
|
public GetQueueUserAclsInfoResponse getQueueUserAcls(
|
||||||
GetQueueUserAclsInfoRequest request)
|
GetQueueUserAclsInfoRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The interface used by clients to get delegation token, enabling the
|
* <p>The interface used by clients to get delegation token, enabling the
|
||||||
|
@ -267,10 +278,11 @@ public interface ClientRMProtocol {
|
||||||
* @param request request to get a delegation token for the client.
|
* @param request request to get a delegation token for the client.
|
||||||
* @return delegation token that can be used to talk to this service
|
* @return delegation token that can be used to talk to this service
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public GetDelegationTokenResponse getDelegationToken(
|
public GetDelegationTokenResponse getDelegationToken(
|
||||||
GetDelegationTokenRequest request)
|
GetDelegationTokenRequest request)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renew an existing delegation token.
|
* Renew an existing delegation token.
|
||||||
|
@ -278,10 +290,12 @@ public interface ClientRMProtocol {
|
||||||
* @param request the delegation token to be renewed.
|
* @param request the delegation token to be renewed.
|
||||||
* @return the new expiry time for the delegation token.
|
* @return the new expiry time for the delegation token.
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
@Private
|
@Private
|
||||||
public RenewDelegationTokenResponse renewDelegationToken(
|
public RenewDelegationTokenResponse renewDelegationToken(
|
||||||
RenewDelegationTokenRequest request) throws YarnRemoteException;
|
RenewDelegationTokenRequest request) throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cancel an existing delegation token.
|
* Cancel an existing delegation token.
|
||||||
|
@ -289,8 +303,10 @@ public interface ClientRMProtocol {
|
||||||
* @param request the delegation token to be cancelled.
|
* @param request the delegation token to be cancelled.
|
||||||
* @return an empty response.
|
* @return an empty response.
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
@Private
|
@Private
|
||||||
public CancelDelegationTokenResponse cancelDelegationToken(
|
public CancelDelegationTokenResponse cancelDelegationToken(
|
||||||
CancelDelegationTokenRequest request) throws YarnRemoteException;
|
CancelDelegationTokenRequest request) throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -592,8 +592,10 @@ public class Client extends YarnClientImpl {
|
||||||
* @param appId Application Id of application to be monitored
|
* @param appId Application Id of application to be monitored
|
||||||
* @return true if application completed successfully
|
* @return true if application completed successfully
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private boolean monitorApplication(ApplicationId appId) throws YarnRemoteException {
|
private boolean monitorApplication(ApplicationId appId)
|
||||||
|
throws YarnRemoteException, IOException {
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
||||||
|
@ -655,8 +657,10 @@ public class Client extends YarnClientImpl {
|
||||||
* Kill a submitted application by sending a call to the ASM
|
* Kill a submitted application by sending a call to the ASM
|
||||||
* @param appId Application Id to be killed.
|
* @param appId Application Id to be killed.
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void forceKillApplication(ApplicationId appId) throws YarnRemoteException {
|
private void forceKillApplication(ApplicationId appId)
|
||||||
|
throws YarnRemoteException, IOException {
|
||||||
// TODO clarify whether multiple jobs with the same app id can be submitted and be running at
|
// TODO clarify whether multiple jobs with the same app id can be submitted and be running at
|
||||||
// the same time.
|
// the same time.
|
||||||
// If yes, can we kill a particular attempt only?
|
// If yes, can we kill a particular attempt only?
|
||||||
|
|
|
@ -357,9 +357,11 @@ public class UnmanagedAMLauncher {
|
||||||
* Application Id of application to be monitored
|
* Application Id of application to be monitored
|
||||||
* @return true if application completed successfully
|
* @return true if application completed successfully
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private ApplicationReport monitorApplication(ApplicationId appId,
|
private ApplicationReport monitorApplication(ApplicationId appId,
|
||||||
Set<YarnApplicationState> finalState) throws YarnRemoteException {
|
Set<YarnApplicationState> finalState) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
|
|
||||||
long foundAMCompletedTime = 0;
|
long foundAMCompletedTime = 0;
|
||||||
final int timeToWaitMS = 10000;
|
final int timeToWaitMS = 10000;
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.client;
|
package org.apache.hadoop.yarn.client;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
|
@ -58,8 +59,10 @@ public interface YarnClient extends Service {
|
||||||
* @return response containing the new <code>ApplicationId</code> to be used
|
* @return response containing the new <code>ApplicationId</code> to be used
|
||||||
* to submit an application
|
* to submit an application
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
GetNewApplicationResponse getNewApplication() throws YarnRemoteException;
|
GetNewApplicationResponse getNewApplication() throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -73,10 +76,11 @@ public interface YarnClient extends Service {
|
||||||
* needed to submit a new application
|
* needed to submit a new application
|
||||||
* @return {@link ApplicationId} of the accepted application
|
* @return {@link ApplicationId} of the accepted application
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
* @see #getNewApplication()
|
* @see #getNewApplication()
|
||||||
*/
|
*/
|
||||||
ApplicationId submitApplication(ApplicationSubmissionContext appContext)
|
ApplicationId submitApplication(ApplicationSubmissionContext appContext)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -88,9 +92,11 @@ public interface YarnClient extends Service {
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
* in case of errors or if YARN rejects the request due to
|
* in case of errors or if YARN rejects the request due to
|
||||||
* access-control restrictions.
|
* access-control restrictions.
|
||||||
|
* @throws IOException
|
||||||
* @see #getQueueAclsInfo()
|
* @see #getQueueAclsInfo()
|
||||||
*/
|
*/
|
||||||
void killApplication(ApplicationId applicationId) throws YarnRemoteException;
|
void killApplication(ApplicationId applicationId) throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -120,9 +126,10 @@ public interface YarnClient extends Service {
|
||||||
* {@link ApplicationId} of the application that needs a report
|
* {@link ApplicationId} of the application that needs a report
|
||||||
* @return application report
|
* @return application report
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
ApplicationReport getApplicationReport(ApplicationId appId)
|
ApplicationReport getApplicationReport(ApplicationId appId)
|
||||||
throws YarnRemoteException;
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -137,8 +144,10 @@ public interface YarnClient extends Service {
|
||||||
*
|
*
|
||||||
* @return a list of reports of all running applications
|
* @return a list of reports of all running applications
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<ApplicationReport> getApplicationList() throws YarnRemoteException;
|
List<ApplicationReport> getApplicationList() throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -147,8 +156,10 @@ public interface YarnClient extends Service {
|
||||||
*
|
*
|
||||||
* @return cluster metrics
|
* @return cluster metrics
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
YarnClusterMetrics getYarnClusterMetrics() throws YarnRemoteException;
|
YarnClusterMetrics getYarnClusterMetrics() throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -157,8 +168,9 @@ public interface YarnClient extends Service {
|
||||||
*
|
*
|
||||||
* @return A list of report of all nodes
|
* @return A list of report of all nodes
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<NodeReport> getNodeReports() throws YarnRemoteException;
|
List<NodeReport> getNodeReports() throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -170,8 +182,10 @@ public interface YarnClient extends Service {
|
||||||
* @return a delegation token ({@link DelegationToken}) that can be used to
|
* @return a delegation token ({@link DelegationToken}) that can be used to
|
||||||
* talk to YARN
|
* talk to YARN
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
DelegationToken getRMDelegationToken(Text renewer) throws YarnRemoteException;
|
DelegationToken getRMDelegationToken(Text renewer)
|
||||||
|
throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -184,8 +198,10 @@ public interface YarnClient extends Service {
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
* in case of errors or if YARN rejects the request due to
|
* in case of errors or if YARN rejects the request due to
|
||||||
* access-control restrictions.
|
* access-control restrictions.
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
QueueInfo getQueueInfo(String queueName) throws YarnRemoteException;
|
QueueInfo getQueueInfo(String queueName) throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -195,8 +211,9 @@ public interface YarnClient extends Service {
|
||||||
*
|
*
|
||||||
* @return a list of queue-information for all queues
|
* @return a list of queue-information for all queues
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<QueueInfo> getAllQueues() throws YarnRemoteException;
|
List<QueueInfo> getAllQueues() throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -205,8 +222,9 @@ public interface YarnClient extends Service {
|
||||||
*
|
*
|
||||||
* @return a list of queue-information for all the top-level queues
|
* @return a list of queue-information for all the top-level queues
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<QueueInfo> getRootQueueInfos() throws YarnRemoteException;
|
List<QueueInfo> getRootQueueInfos() throws YarnRemoteException, IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -219,8 +237,10 @@ public interface YarnClient extends Service {
|
||||||
* @return a list of queue-information for all queues who are direct children
|
* @return a list of queue-information for all queues who are direct children
|
||||||
* of the given parent queue.
|
* of the given parent queue.
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<QueueInfo> getChildQueueInfos(String parent) throws YarnRemoteException;
|
List<QueueInfo> getChildQueueInfos(String parent) throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -231,6 +251,8 @@ public interface YarnClient extends Service {
|
||||||
* @return a list of queue acls ({@link QueueUserACLInfo}) for
|
* @return a list of queue acls ({@link QueueUserACLInfo}) for
|
||||||
* <em>current user</em>
|
* <em>current user</em>
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
List<QueueUserACLInfo> getQueueAclsInfo() throws YarnRemoteException;
|
List<QueueUserACLInfo> getQueueAclsInfo() throws YarnRemoteException,
|
||||||
|
IOException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.client;
|
package org.apache.hadoop.yarn.client;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -121,7 +122,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetNewApplicationResponse getNewApplication()
|
public GetNewApplicationResponse getNewApplication()
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetNewApplicationRequest request =
|
GetNewApplicationRequest request =
|
||||||
Records.newRecord(GetNewApplicationRequest.class);
|
Records.newRecord(GetNewApplicationRequest.class);
|
||||||
return rmClient.getNewApplication(request);
|
return rmClient.getNewApplication(request);
|
||||||
|
@ -130,7 +131,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
@Override
|
@Override
|
||||||
public ApplicationId
|
public ApplicationId
|
||||||
submitApplication(ApplicationSubmissionContext appContext)
|
submitApplication(ApplicationSubmissionContext appContext)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
ApplicationId applicationId = appContext.getApplicationId();
|
ApplicationId applicationId = appContext.getApplicationId();
|
||||||
appContext.setApplicationId(applicationId);
|
appContext.setApplicationId(applicationId);
|
||||||
SubmitApplicationRequest request =
|
SubmitApplicationRequest request =
|
||||||
|
@ -167,7 +168,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void killApplication(ApplicationId applicationId)
|
public void killApplication(ApplicationId applicationId)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
LOG.info("Killing application " + applicationId);
|
LOG.info("Killing application " + applicationId);
|
||||||
KillApplicationRequest request =
|
KillApplicationRequest request =
|
||||||
Records.newRecord(KillApplicationRequest.class);
|
Records.newRecord(KillApplicationRequest.class);
|
||||||
|
@ -177,7 +178,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApplicationReport getApplicationReport(ApplicationId appId)
|
public ApplicationReport getApplicationReport(ApplicationId appId)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetApplicationReportRequest request =
|
GetApplicationReportRequest request =
|
||||||
Records.newRecord(GetApplicationReportRequest.class);
|
Records.newRecord(GetApplicationReportRequest.class);
|
||||||
request.setApplicationId(appId);
|
request.setApplicationId(appId);
|
||||||
|
@ -188,7 +189,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ApplicationReport> getApplicationList()
|
public List<ApplicationReport> getApplicationList()
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetAllApplicationsRequest request =
|
GetAllApplicationsRequest request =
|
||||||
Records.newRecord(GetAllApplicationsRequest.class);
|
Records.newRecord(GetAllApplicationsRequest.class);
|
||||||
GetAllApplicationsResponse response = rmClient.getAllApplications(request);
|
GetAllApplicationsResponse response = rmClient.getAllApplications(request);
|
||||||
|
@ -196,7 +197,8 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public YarnClusterMetrics getYarnClusterMetrics() throws YarnRemoteException {
|
public YarnClusterMetrics getYarnClusterMetrics() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetClusterMetricsRequest request =
|
GetClusterMetricsRequest request =
|
||||||
Records.newRecord(GetClusterMetricsRequest.class);
|
Records.newRecord(GetClusterMetricsRequest.class);
|
||||||
GetClusterMetricsResponse response = rmClient.getClusterMetrics(request);
|
GetClusterMetricsResponse response = rmClient.getClusterMetrics(request);
|
||||||
|
@ -204,7 +206,8 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NodeReport> getNodeReports() throws YarnRemoteException {
|
public List<NodeReport> getNodeReports() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetClusterNodesRequest request =
|
GetClusterNodesRequest request =
|
||||||
Records.newRecord(GetClusterNodesRequest.class);
|
Records.newRecord(GetClusterNodesRequest.class);
|
||||||
GetClusterNodesResponse response = rmClient.getClusterNodes(request);
|
GetClusterNodesResponse response = rmClient.getClusterNodes(request);
|
||||||
|
@ -213,7 +216,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DelegationToken getRMDelegationToken(Text renewer)
|
public DelegationToken getRMDelegationToken(Text renewer)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
/* get the token from RM */
|
/* get the token from RM */
|
||||||
GetDelegationTokenRequest rmDTRequest =
|
GetDelegationTokenRequest rmDTRequest =
|
||||||
Records.newRecord(GetDelegationTokenRequest.class);
|
Records.newRecord(GetDelegationTokenRequest.class);
|
||||||
|
@ -236,7 +239,8 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QueueInfo getQueueInfo(String queueName) throws YarnRemoteException {
|
public QueueInfo getQueueInfo(String queueName) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetQueueInfoRequest request =
|
GetQueueInfoRequest request =
|
||||||
getQueueInfoRequest(queueName, true, false, false);
|
getQueueInfoRequest(queueName, true, false, false);
|
||||||
Records.newRecord(GetQueueInfoRequest.class);
|
Records.newRecord(GetQueueInfoRequest.class);
|
||||||
|
@ -244,14 +248,16 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueueUserACLInfo> getQueueAclsInfo() throws YarnRemoteException {
|
public List<QueueUserACLInfo> getQueueAclsInfo() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetQueueUserAclsInfoRequest request =
|
GetQueueUserAclsInfoRequest request =
|
||||||
Records.newRecord(GetQueueUserAclsInfoRequest.class);
|
Records.newRecord(GetQueueUserAclsInfoRequest.class);
|
||||||
return rmClient.getQueueUserAcls(request).getUserAclsInfoList();
|
return rmClient.getQueueUserAcls(request).getUserAclsInfoList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueueInfo> getAllQueues() throws YarnRemoteException {
|
public List<QueueInfo> getAllQueues() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
||||||
|
|
||||||
QueueInfo rootQueue =
|
QueueInfo rootQueue =
|
||||||
|
@ -262,7 +268,8 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueueInfo> getRootQueueInfos() throws YarnRemoteException {
|
public List<QueueInfo> getRootQueueInfos() throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
||||||
|
|
||||||
QueueInfo rootQueue =
|
QueueInfo rootQueue =
|
||||||
|
@ -274,7 +281,7 @@ public class YarnClientImpl extends AbstractService implements YarnClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueueInfo> getChildQueueInfos(String parent)
|
public List<QueueInfo> getChildQueueInfos(String parent)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
List<QueueInfo> queues = new ArrayList<QueueInfo>();
|
||||||
|
|
||||||
QueueInfo parentQueue =
|
QueueInfo parentQueue =
|
||||||
|
|
|
@ -91,8 +91,9 @@ public class ApplicationCLI extends YarnCLI {
|
||||||
* Lists all the applications present in the Resource Manager
|
* Lists all the applications present in the Resource Manager
|
||||||
*
|
*
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void listAllApplications() throws YarnRemoteException {
|
private void listAllApplications() throws YarnRemoteException, IOException {
|
||||||
PrintWriter writer = new PrintWriter(sysout);
|
PrintWriter writer = new PrintWriter(sysout);
|
||||||
List<ApplicationReport> appsReport = client.getApplicationList();
|
List<ApplicationReport> appsReport = client.getApplicationList();
|
||||||
|
|
||||||
|
@ -117,8 +118,10 @@ public class ApplicationCLI extends YarnCLI {
|
||||||
*
|
*
|
||||||
* @param applicationId
|
* @param applicationId
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void killApplication(String applicationId) throws YarnRemoteException {
|
private void killApplication(String applicationId)
|
||||||
|
throws YarnRemoteException, IOException {
|
||||||
ApplicationId appId = ConverterUtils.toApplicationId(applicationId);
|
ApplicationId appId = ConverterUtils.toApplicationId(applicationId);
|
||||||
sysout.println("Killing application " + applicationId);
|
sysout.println("Killing application " + applicationId);
|
||||||
client.killApplication(appId);
|
client.killApplication(appId);
|
||||||
|
|
|
@ -84,8 +84,9 @@ public class NodeCLI extends YarnCLI {
|
||||||
* Lists all the nodes present in the cluster
|
* Lists all the nodes present in the cluster
|
||||||
*
|
*
|
||||||
* @throws YarnRemoteException
|
* @throws YarnRemoteException
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void listClusterNodes() throws YarnRemoteException {
|
private void listClusterNodes() throws YarnRemoteException, IOException {
|
||||||
PrintWriter writer = new PrintWriter(sysout);
|
PrintWriter writer = new PrintWriter(sysout);
|
||||||
List<NodeReport> nodesReport = client.getNodeReports();
|
List<NodeReport> nodesReport = client.getNodeReports();
|
||||||
writer.println("Total Nodes:" + nodesReport.size());
|
writer.println("Total Nodes:" + nodesReport.size());
|
||||||
|
|
|
@ -23,6 +23,7 @@ import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
@ -69,7 +70,7 @@ public class TestAMRMClient {
|
||||||
int nodeCount = 3;
|
int nodeCount = 3;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws YarnRemoteException {
|
public void setup() throws YarnRemoteException, IOException {
|
||||||
// start minicluster
|
// start minicluster
|
||||||
conf = new YarnConfiguration();
|
conf = new YarnConfiguration();
|
||||||
yarnCluster = new MiniYARNCluster(TestAMRMClient.class.getName(), nodeCount, 1, 1);
|
yarnCluster = new MiniYARNCluster(TestAMRMClient.class.getName(), nodeCount, 1, 1);
|
||||||
|
|
|
@ -23,6 +23,9 @@ import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
@ -89,6 +92,8 @@ public class TestYarnClient {
|
||||||
client.submitApplication(context);
|
client.submitApplication(context);
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
Assert.fail("Exception is not expected.");
|
Assert.fail("Exception is not expected.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
Assert.fail("Exception is not expected.");
|
||||||
}
|
}
|
||||||
verify(((MockYarnClient) client).mockReport,times(4 * i + 4))
|
verify(((MockYarnClient) client).mockReport,times(4 * i + 4))
|
||||||
.getYarnApplicationState();
|
.getYarnApplicationState();
|
||||||
|
@ -115,6 +120,8 @@ public class TestYarnClient {
|
||||||
GetApplicationReportRequest.class))).thenReturn(mockResponse);
|
GetApplicationReportRequest.class))).thenReturn(mockResponse);
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
Assert.fail("Exception is not expected.");
|
Assert.fail("Exception is not expected.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
Assert.fail("Exception is not expected.");
|
||||||
}
|
}
|
||||||
when(mockResponse.getApplicationReport()).thenReturn(mockReport);
|
when(mockResponse.getApplicationReport()).thenReturn(mockReport);
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KillApplicationResponse forceKillApplication(
|
public KillApplicationResponse forceKillApplication(
|
||||||
KillApplicationRequest request) throws YarnRemoteException {
|
KillApplicationRequest request) throws YarnRemoteException, IOException {
|
||||||
KillApplicationRequestProto requestProto =
|
KillApplicationRequestProto requestProto =
|
||||||
((KillApplicationRequestPBImpl) request).getProto();
|
((KillApplicationRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -126,7 +126,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetApplicationReportResponse getApplicationReport(
|
public GetApplicationReportResponse getApplicationReport(
|
||||||
GetApplicationReportRequest request) throws YarnRemoteException {
|
GetApplicationReportRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetApplicationReportRequestProto requestProto =
|
GetApplicationReportRequestProto requestProto =
|
||||||
((GetApplicationReportRequestPBImpl) request).getProto();
|
((GetApplicationReportRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -139,7 +140,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetClusterMetricsResponse getClusterMetrics(
|
public GetClusterMetricsResponse getClusterMetrics(
|
||||||
GetClusterMetricsRequest request) throws YarnRemoteException {
|
GetClusterMetricsRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetClusterMetricsRequestProto requestProto =
|
GetClusterMetricsRequestProto requestProto =
|
||||||
((GetClusterMetricsRequestPBImpl) request).getProto();
|
((GetClusterMetricsRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -152,7 +154,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetNewApplicationResponse getNewApplication(
|
public GetNewApplicationResponse getNewApplication(
|
||||||
GetNewApplicationRequest request) throws YarnRemoteException {
|
GetNewApplicationRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetNewApplicationRequestProto requestProto =
|
GetNewApplicationRequestProto requestProto =
|
||||||
((GetNewApplicationRequestPBImpl) request).getProto();
|
((GetNewApplicationRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -165,7 +168,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SubmitApplicationResponse submitApplication(
|
public SubmitApplicationResponse submitApplication(
|
||||||
SubmitApplicationRequest request) throws YarnRemoteException {
|
SubmitApplicationRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
SubmitApplicationRequestProto requestProto =
|
SubmitApplicationRequestProto requestProto =
|
||||||
((SubmitApplicationRequestPBImpl) request).getProto();
|
((SubmitApplicationRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -178,7 +182,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetAllApplicationsResponse getAllApplications(
|
public GetAllApplicationsResponse getAllApplications(
|
||||||
GetAllApplicationsRequest request) throws YarnRemoteException {
|
GetAllApplicationsRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetAllApplicationsRequestProto requestProto =
|
GetAllApplicationsRequestProto requestProto =
|
||||||
((GetAllApplicationsRequestPBImpl) request).getProto();
|
((GetAllApplicationsRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -192,7 +197,7 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
@Override
|
@Override
|
||||||
public GetClusterNodesResponse
|
public GetClusterNodesResponse
|
||||||
getClusterNodes(GetClusterNodesRequest request)
|
getClusterNodes(GetClusterNodesRequest request)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetClusterNodesRequestProto requestProto =
|
GetClusterNodesRequestProto requestProto =
|
||||||
((GetClusterNodesRequestPBImpl) request).getProto();
|
((GetClusterNodesRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -205,7 +210,7 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request)
|
public GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetQueueInfoRequestProto requestProto =
|
GetQueueInfoRequestProto requestProto =
|
||||||
((GetQueueInfoRequestPBImpl) request).getProto();
|
((GetQueueInfoRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -218,7 +223,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetQueueUserAclsInfoResponse getQueueUserAcls(
|
public GetQueueUserAclsInfoResponse getQueueUserAcls(
|
||||||
GetQueueUserAclsInfoRequest request) throws YarnRemoteException {
|
GetQueueUserAclsInfoRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetQueueUserAclsInfoRequestProto requestProto =
|
GetQueueUserAclsInfoRequestProto requestProto =
|
||||||
((GetQueueUserAclsInfoRequestPBImpl) request).getProto();
|
((GetQueueUserAclsInfoRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -231,7 +237,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetDelegationTokenResponse getDelegationToken(
|
public GetDelegationTokenResponse getDelegationToken(
|
||||||
GetDelegationTokenRequest request) throws YarnRemoteException {
|
GetDelegationTokenRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
GetDelegationTokenRequestProto requestProto =
|
GetDelegationTokenRequestProto requestProto =
|
||||||
((GetDelegationTokenRequestPBImpl) request).getProto();
|
((GetDelegationTokenRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -244,7 +251,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RenewDelegationTokenResponse renewDelegationToken(
|
public RenewDelegationTokenResponse renewDelegationToken(
|
||||||
RenewDelegationTokenRequest request) throws YarnRemoteException {
|
RenewDelegationTokenRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
RenewDelegationTokenRequestProto requestProto =
|
RenewDelegationTokenRequestProto requestProto =
|
||||||
((RenewDelegationTokenRequestPBImpl) request).getProto();
|
((RenewDelegationTokenRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
@ -257,7 +265,8 @@ public class ClientRMProtocolPBClientImpl implements ClientRMProtocol,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CancelDelegationTokenResponse cancelDelegationToken(
|
public CancelDelegationTokenResponse cancelDelegationToken(
|
||||||
CancelDelegationTokenRequest request) throws YarnRemoteException {
|
CancelDelegationTokenRequest request) throws YarnRemoteException,
|
||||||
|
IOException {
|
||||||
CancelDelegationTokenRequestProto requestProto =
|
CancelDelegationTokenRequestProto requestProto =
|
||||||
((CancelDelegationTokenRequestPBImpl) request).getProto();
|
((CancelDelegationTokenRequestPBImpl) request).getProto();
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.api.impl.pb.service;
|
package org.apache.hadoop.yarn.api.impl.pb.service;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenRequestProto;
|
import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenRequestProto;
|
||||||
import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenResponseProto;
|
import org.apache.hadoop.security.proto.SecurityProtos.CancelDelegationTokenResponseProto;
|
||||||
import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenRequestProto;
|
import org.apache.hadoop.security.proto.SecurityProtos.GetDelegationTokenRequestProto;
|
||||||
|
@ -102,6 +104,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((KillApplicationResponsePBImpl)response).getProto();
|
return ((KillApplicationResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,6 +119,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetApplicationReportResponsePBImpl)response).getProto();
|
return ((GetApplicationReportResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,6 +133,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetClusterMetricsResponsePBImpl)response).getProto();
|
return ((GetClusterMetricsResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,6 +148,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetNewApplicationResponsePBImpl)response).getProto();
|
return ((GetNewApplicationResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,6 +162,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((SubmitApplicationResponsePBImpl)response).getProto();
|
return ((SubmitApplicationResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,6 +178,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetAllApplicationsResponsePBImpl)response).getProto();
|
return ((GetAllApplicationsResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +193,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetClusterNodesResponsePBImpl)response).getProto();
|
return ((GetClusterNodesResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,6 +208,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetQueueInfoResponsePBImpl)response).getProto();
|
return ((GetQueueInfoResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,6 +224,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetQueueUserAclsInfoResponsePBImpl)response).getProto();
|
return ((GetQueueUserAclsInfoResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,6 +240,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((GetDelegationTokenResponsePBImpl)response).getProto();
|
return ((GetDelegationTokenResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,6 +256,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((RenewDelegationTokenResponsePBImpl)response).getProto();
|
return ((RenewDelegationTokenResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,6 +272,8 @@ public class ClientRMProtocolPBServiceImpl implements ClientRMProtocolPB {
|
||||||
return ((CancelDelegationTokenResponsePBImpl)response).getProto();
|
return ((CancelDelegationTokenResponsePBImpl)response).getProto();
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
throw new ServiceException(e);
|
throw new ServiceException(e);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new ServiceException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.server.resourcemanager;
|
package org.apache.hadoop.yarn.server.resourcemanager;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.security.PrivilegedAction;
|
import java.security.PrivilegedAction;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -199,6 +200,8 @@ public class MockRM extends ResourceManager {
|
||||||
return client.submitApplication(req);
|
return client.submitApplication(req);
|
||||||
} catch (YarnRemoteException e) {
|
} catch (YarnRemoteException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -339,7 +339,7 @@ public class TestClientRMTokens {
|
||||||
DelegationToken token = loggedInUser
|
DelegationToken token = loggedInUser
|
||||||
.doAs(new PrivilegedExceptionAction<DelegationToken>() {
|
.doAs(new PrivilegedExceptionAction<DelegationToken>() {
|
||||||
@Override
|
@Override
|
||||||
public DelegationToken run() throws YarnRemoteException {
|
public DelegationToken run() throws YarnRemoteException, IOException {
|
||||||
GetDelegationTokenRequest request = Records
|
GetDelegationTokenRequest request = Records
|
||||||
.newRecord(GetDelegationTokenRequest.class);
|
.newRecord(GetDelegationTokenRequest.class);
|
||||||
request.setRenewer(renewerString);
|
request.setRenewer(renewerString);
|
||||||
|
@ -355,7 +355,7 @@ public class TestClientRMTokens {
|
||||||
throws IOException, InterruptedException {
|
throws IOException, InterruptedException {
|
||||||
long nextExpTime = loggedInUser.doAs(new PrivilegedExceptionAction<Long>() {
|
long nextExpTime = loggedInUser.doAs(new PrivilegedExceptionAction<Long>() {
|
||||||
@Override
|
@Override
|
||||||
public Long run() throws YarnRemoteException {
|
public Long run() throws YarnRemoteException, IOException {
|
||||||
RenewDelegationTokenRequest request = Records
|
RenewDelegationTokenRequest request = Records
|
||||||
.newRecord(RenewDelegationTokenRequest.class);
|
.newRecord(RenewDelegationTokenRequest.class);
|
||||||
request.setDelegationToken(dToken);
|
request.setDelegationToken(dToken);
|
||||||
|
@ -371,7 +371,7 @@ public class TestClientRMTokens {
|
||||||
throws IOException, InterruptedException {
|
throws IOException, InterruptedException {
|
||||||
loggedInUser.doAs(new PrivilegedExceptionAction<Void>() {
|
loggedInUser.doAs(new PrivilegedExceptionAction<Void>() {
|
||||||
@Override
|
@Override
|
||||||
public Void run() throws YarnRemoteException {
|
public Void run() throws YarnRemoteException, IOException {
|
||||||
CancelDelegationTokenRequest request = Records
|
CancelDelegationTokenRequest request = Records
|
||||||
.newRecord(CancelDelegationTokenRequest.class);
|
.newRecord(CancelDelegationTokenRequest.class);
|
||||||
request.setDelegationToken(dToken);
|
request.setDelegationToken(dToken);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
package org.apache.hadoop.yarn.server.webproxy;
|
package org.apache.hadoop.yarn.server.webproxy;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
@ -78,9 +79,10 @@ public class AppReportFetcher {
|
||||||
* @param appId the id of the application to get.
|
* @param appId the id of the application to get.
|
||||||
* @return the ApplicationReport for that app.
|
* @return the ApplicationReport for that app.
|
||||||
* @throws YarnRemoteException on any error.
|
* @throws YarnRemoteException on any error.
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public ApplicationReport getApplicationReport(ApplicationId appId)
|
public ApplicationReport getApplicationReport(ApplicationId appId)
|
||||||
throws YarnRemoteException {
|
throws YarnRemoteException, IOException {
|
||||||
GetApplicationReportRequest request = recordFactory
|
GetApplicationReportRequest request = recordFactory
|
||||||
.newRecordInstance(GetApplicationReportRequest.class);
|
.newRecordInstance(GetApplicationReportRequest.class);
|
||||||
request.setApplicationId(appId);
|
request.setApplicationId(appId);
|
||||||
|
|
Loading…
Reference in New Issue