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