org.apache.hadoop.yarn.api.ApplicationClientProtocol Java Examples
The following examples show how to use
org.apache.hadoop.yarn.api.ApplicationClientProtocol.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RMDelegationTokenIdentifier.java From big-c with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") @Override public long renew(Token<?> token, Configuration conf) throws IOException, InterruptedException { final ApplicationClientProtocol rmClient = getRmClient(token, conf); if (rmClient != null) { try { RenewDelegationTokenRequest request = Records.newRecord(RenewDelegationTokenRequest.class); request.setDelegationToken(convertToProtoToken(token)); return rmClient.renewDelegationToken(request).getNextExpirationTime(); } catch (YarnException e) { throw new IOException(e); } finally { RPC.stopProxy(rmClient); } } else { return localSecretManager.renewToken( (Token<RMDelegationTokenIdentifier>)token, getRenewer(token)); } }
Example #2
Source File: ClientRMProxy.java From hadoop with Apache License 2.0 | 6 votes |
@Private @Override protected InetSocketAddress getRMAddress(YarnConfiguration conf, Class<?> protocol) throws IOException { if (protocol == ApplicationClientProtocol.class) { return conf.getSocketAddr(YarnConfiguration.RM_ADDRESS, YarnConfiguration.DEFAULT_RM_ADDRESS, YarnConfiguration.DEFAULT_RM_PORT); } else if (protocol == ResourceManagerAdministrationProtocol.class) { return conf.getSocketAddr( YarnConfiguration.RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_PORT); } else if (protocol == ApplicationMasterProtocol.class) { setAMRMTokenService(conf); return conf.getSocketAddr(YarnConfiguration.RM_SCHEDULER_ADDRESS, YarnConfiguration.DEFAULT_RM_SCHEDULER_ADDRESS, YarnConfiguration.DEFAULT_RM_SCHEDULER_PORT); } else { String message = "Unsupported protocol found when creating the proxy " + "connection to ResourceManager: " + ((protocol != null) ? protocol.getClass().getName() : "null"); LOG.error(message); throw new IllegalStateException(message); } }
Example #3
Source File: YarnClientImpl.java From big-c with Apache License 2.0 | 6 votes |
@Override protected void serviceStart() throws Exception { try { rmClient = ClientRMProxy.createRMProxy(getConfig(), ApplicationClientProtocol.class); if (historyServiceEnabled) { historyClient.start(); } if (timelineServiceEnabled) { timelineClient.start(); } } catch (IOException e) { throw new YarnRuntimeException(e); } super.serviceStart(); }
Example #4
Source File: QueueACLsTestBase.java From hadoop with Apache License 2.0 | 6 votes |
private void verifyKillAppFailure(String submitter, String killer, String queueName, boolean setupACLs) throws Exception { ApplicationId applicationId = submitAppAndGetAppId(submitter, queueName, setupACLs); final KillApplicationRequest finishAppRequest = KillApplicationRequest.newInstance(applicationId); ApplicationClientProtocol killerClient = getRMClientForUser(killer); // Kill app as the killer try { killerClient.forceKillApplication(finishAppRequest); Assert.fail("App killing by the enemy should fail!!"); } catch (YarnException e) { LOG.info("Got exception while killing app as the enemy", e); Assert.assertTrue(e.getMessage().contains( "User " + killer + " cannot perform operation MODIFY_APP on " + applicationId)); } getRMClientForUser(submitter).forceKillApplication(finishAppRequest); }
Example #5
Source File: RMDelegationTokenIdentifier.java From hadoop with Apache License 2.0 | 6 votes |
private static ApplicationClientProtocol getRmClient(Token<?> token, Configuration conf) throws IOException { String[] services = token.getService().toString().split(","); for (String service : services) { InetSocketAddress addr = NetUtils.createSocketAddr(service); if (localSecretManager != null) { // return null if it's our token if (localServiceAddress.getAddress().isAnyLocalAddress()) { if (NetUtils.isLocalAddress(addr.getAddress()) && addr.getPort() == localServiceAddress.getPort()) { return null; } } else if (addr.equals(localServiceAddress)) { return null; } } } return ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); }
Example #6
Source File: RMDelegationTokenIdentifier.java From hadoop with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") @Override public void cancel(Token<?> token, Configuration conf) throws IOException, InterruptedException { final ApplicationClientProtocol rmClient = getRmClient(token, conf); if (rmClient != null) { try { CancelDelegationTokenRequest request = Records.newRecord(CancelDelegationTokenRequest.class); request.setDelegationToken(convertToProtoToken(token)); rmClient.cancelDelegationToken(request); } catch (YarnException e) { throw new IOException(e); } finally { RPC.stopProxy(rmClient); } } else { localSecretManager.cancelToken( (Token<RMDelegationTokenIdentifier>)token, getRenewer(token)); } }
Example #7
Source File: QueueACLsTestBase.java From hadoop with Apache License 2.0 | 6 votes |
private void verifyGetClientAMToken(String submitter, String queueAdmin, String queueName, boolean setupACLs) throws Exception { ApplicationId applicationId = submitAppAndGetAppId(submitter, queueName, setupACLs); final GetApplicationReportRequest appReportRequest = GetApplicationReportRequest.newInstance(applicationId); ApplicationClientProtocol submitterClient = getRMClientForUser(submitter); ApplicationClientProtocol adMinUserClient = getRMClientForUser(queueAdmin); GetApplicationReportResponse submitterGetReport = submitterClient.getApplicationReport(appReportRequest); GetApplicationReportResponse adMinUserGetReport = adMinUserClient.getApplicationReport(appReportRequest); Assert.assertEquals(submitterGetReport.getApplicationReport() .getClientToAMToken(), adMinUserGetReport.getApplicationReport() .getClientToAMToken()); }
Example #8
Source File: RMDelegationTokenIdentifier.java From hadoop with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") @Override public long renew(Token<?> token, Configuration conf) throws IOException, InterruptedException { final ApplicationClientProtocol rmClient = getRmClient(token, conf); if (rmClient != null) { try { RenewDelegationTokenRequest request = Records.newRecord(RenewDelegationTokenRequest.class); request.setDelegationToken(convertToProtoToken(token)); return rmClient.renewDelegationToken(request).getNextExpirationTime(); } catch (YarnException e) { throw new IOException(e); } finally { RPC.stopProxy(rmClient); } } else { return localSecretManager.renewToken( (Token<RMDelegationTokenIdentifier>)token, getRenewer(token)); } }
Example #9
Source File: TestClientRMTokens.java From big-c with Apache License 2.0 | 6 votes |
private ApplicationClientProtocol getClientRMProtocolWithDT( org.apache.hadoop.yarn.api.records.Token token, final InetSocketAddress rmAddress, String user, final Configuration conf) { // Maybe consider converting to Hadoop token, serialize de-serialize etc // before trying to renew the token. UserGroupInformation ugi = UserGroupInformation .createRemoteUser(user); ugi.addToken(ConverterUtils.convertFromYarn(token, rmAddress)); final YarnRPC rpc = YarnRPC.create(conf); ApplicationClientProtocol clientRMWithDT = ugi .doAs(new PrivilegedAction<ApplicationClientProtocol>() { @Override public ApplicationClientProtocol run() { return (ApplicationClientProtocol) rpc.getProxy(ApplicationClientProtocol.class, rmAddress, conf); } }); return clientRMWithDT; }
Example #10
Source File: TestClientRMTokens.java From hadoop with Apache License 2.0 | 6 votes |
private long renewDelegationToken(final UserGroupInformation loggedInUser, final ApplicationClientProtocol clientRMService, final org.apache.hadoop.yarn.api.records.Token dToken) throws IOException, InterruptedException { long nextExpTime = loggedInUser.doAs(new PrivilegedExceptionAction<Long>() { @Override public Long run() throws YarnException, IOException { RenewDelegationTokenRequest request = Records .newRecord(RenewDelegationTokenRequest.class); request.setDelegationToken(dToken); return clientRMService.renewDelegationToken(request) .getNextExpirationTime(); } }); return nextExpTime; }
Example #11
Source File: TestClientRMTokens.java From big-c with Apache License 2.0 | 6 votes |
private long renewDelegationToken(final UserGroupInformation loggedInUser, final ApplicationClientProtocol clientRMService, final org.apache.hadoop.yarn.api.records.Token dToken) throws IOException, InterruptedException { long nextExpTime = loggedInUser.doAs(new PrivilegedExceptionAction<Long>() { @Override public Long run() throws YarnException, IOException { RenewDelegationTokenRequest request = Records .newRecord(RenewDelegationTokenRequest.class); request.setDelegationToken(dToken); return clientRMService.renewDelegationToken(request) .getNextExpirationTime(); } }); return nextExpTime; }
Example #12
Source File: TestClientRMTokens.java From hadoop with Apache License 2.0 | 6 votes |
private ApplicationClientProtocol getClientRMProtocolWithDT( org.apache.hadoop.yarn.api.records.Token token, final InetSocketAddress rmAddress, String user, final Configuration conf) { // Maybe consider converting to Hadoop token, serialize de-serialize etc // before trying to renew the token. UserGroupInformation ugi = UserGroupInformation .createRemoteUser(user); ugi.addToken(ConverterUtils.convertFromYarn(token, rmAddress)); final YarnRPC rpc = YarnRPC.create(conf); ApplicationClientProtocol clientRMWithDT = ugi .doAs(new PrivilegedAction<ApplicationClientProtocol>() { @Override public ApplicationClientProtocol run() { return (ApplicationClientProtocol) rpc.getProxy(ApplicationClientProtocol.class, rmAddress, conf); } }); return clientRMWithDT; }
Example #13
Source File: TestClientRMTokens.java From big-c with Apache License 2.0 | 6 votes |
private org.apache.hadoop.yarn.api.records.Token getDelegationToken( final UserGroupInformation loggedInUser, final ApplicationClientProtocol clientRMService, final String renewerString) throws IOException, InterruptedException { org.apache.hadoop.yarn.api.records.Token token = loggedInUser .doAs(new PrivilegedExceptionAction<org.apache.hadoop.yarn.api.records.Token>() { @Override public org.apache.hadoop.yarn.api.records.Token run() throws YarnException, IOException { GetDelegationTokenRequest request = Records .newRecord(GetDelegationTokenRequest.class); request.setRenewer(renewerString); return clientRMService.getDelegationToken(request) .getRMDelegationToken(); } }); return token; }
Example #14
Source File: QueueACLsTestBase.java From big-c with Apache License 2.0 | 6 votes |
private void verifyKillAppFailure(String submitter, String killer, String queueName, boolean setupACLs) throws Exception { ApplicationId applicationId = submitAppAndGetAppId(submitter, queueName, setupACLs); final KillApplicationRequest finishAppRequest = KillApplicationRequest.newInstance(applicationId); ApplicationClientProtocol killerClient = getRMClientForUser(killer); // Kill app as the killer try { killerClient.forceKillApplication(finishAppRequest); Assert.fail("App killing by the enemy should fail!!"); } catch (YarnException e) { LOG.info("Got exception while killing app as the enemy", e); Assert.assertTrue(e.getMessage().contains( "User " + killer + " cannot perform operation MODIFY_APP on " + applicationId)); } getRMClientForUser(submitter).forceKillApplication(finishAppRequest); }
Example #15
Source File: QueueACLsTestBase.java From big-c with Apache License 2.0 | 6 votes |
private void verifyGetClientAMToken(String submitter, String queueAdmin, String queueName, boolean setupACLs) throws Exception { ApplicationId applicationId = submitAppAndGetAppId(submitter, queueName, setupACLs); final GetApplicationReportRequest appReportRequest = GetApplicationReportRequest.newInstance(applicationId); ApplicationClientProtocol submitterClient = getRMClientForUser(submitter); ApplicationClientProtocol adMinUserClient = getRMClientForUser(queueAdmin); GetApplicationReportResponse submitterGetReport = submitterClient.getApplicationReport(appReportRequest); GetApplicationReportResponse adMinUserGetReport = adMinUserClient.getApplicationReport(appReportRequest); Assert.assertEquals(submitterGetReport.getApplicationReport() .getClientToAMToken(), adMinUserGetReport.getApplicationReport() .getClientToAMToken()); }
Example #16
Source File: ClientRMProxy.java From big-c with Apache License 2.0 | 6 votes |
@Private @Override protected InetSocketAddress getRMAddress(YarnConfiguration conf, Class<?> protocol) throws IOException { if (protocol == ApplicationClientProtocol.class) { return conf.getSocketAddr(YarnConfiguration.RM_ADDRESS, YarnConfiguration.DEFAULT_RM_ADDRESS, YarnConfiguration.DEFAULT_RM_PORT); } else if (protocol == ResourceManagerAdministrationProtocol.class) { return conf.getSocketAddr( YarnConfiguration.RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_PORT); } else if (protocol == ApplicationMasterProtocol.class) { setAMRMTokenService(conf); return conf.getSocketAddr(YarnConfiguration.RM_SCHEDULER_ADDRESS, YarnConfiguration.DEFAULT_RM_SCHEDULER_ADDRESS, YarnConfiguration.DEFAULT_RM_SCHEDULER_PORT); } else { String message = "Unsupported protocol found when creating the proxy " + "connection to ResourceManager: " + ((protocol != null) ? protocol.getClass().getName() : "null"); LOG.error(message); throw new IllegalStateException(message); } }
Example #17
Source File: RMDelegationTokenIdentifier.java From big-c with Apache License 2.0 | 6 votes |
private static ApplicationClientProtocol getRmClient(Token<?> token, Configuration conf) throws IOException { String[] services = token.getService().toString().split(","); for (String service : services) { InetSocketAddress addr = NetUtils.createSocketAddr(service); if (localSecretManager != null) { // return null if it's our token if (localServiceAddress.getAddress().isAnyLocalAddress()) { if (NetUtils.isLocalAddress(addr.getAddress()) && addr.getPort() == localServiceAddress.getPort()) { return null; } } else if (addr.equals(localServiceAddress)) { return null; } } } return ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); }
Example #18
Source File: YarnClientImpl.java From hadoop with Apache License 2.0 | 6 votes |
@Override protected void serviceStart() throws Exception { try { rmClient = ClientRMProxy.createRMProxy(getConfig(), ApplicationClientProtocol.class); if (historyServiceEnabled) { historyClient.start(); } if (timelineServiceEnabled) { timelineClient.start(); } } catch (IOException e) { throw new YarnRuntimeException(e); } super.serviceStart(); }
Example #19
Source File: RMDelegationTokenIdentifier.java From big-c with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") @Override public void cancel(Token<?> token, Configuration conf) throws IOException, InterruptedException { final ApplicationClientProtocol rmClient = getRmClient(token, conf); if (rmClient != null) { try { CancelDelegationTokenRequest request = Records.newRecord(CancelDelegationTokenRequest.class); request.setDelegationToken(convertToProtoToken(token)); rmClient.cancelDelegationToken(request); } catch (YarnException e) { throw new IOException(e); } finally { RPC.stopProxy(rmClient); } } else { localSecretManager.cancelToken( (Token<RMDelegationTokenIdentifier>)token, getRenewer(token)); } }
Example #20
Source File: StramClientUtils.java From attic-apex-core with Apache License 2.0 | 5 votes |
/** * Connect to the Resource Manager/Applications Manager<p> * * @return Handle to communicate with the ASM * @throws IOException */ public ApplicationClientProtocol connectToASM() throws IOException { YarnConfiguration yarnConf = new YarnConfiguration(conf); InetSocketAddress rmAddress = yarnConf.getSocketAddr( YarnConfiguration.RM_ADDRESS, YarnConfiguration.DEFAULT_RM_ADDRESS, YarnConfiguration.DEFAULT_RM_PORT); LOG.debug("Connecting to ResourceManager at " + rmAddress); return ((ApplicationClientProtocol)rpc.getProxy(ApplicationClientProtocol.class, rmAddress, conf)); }
Example #21
Source File: TestClientRMTokens.java From big-c with Apache License 2.0 | 5 votes |
private void cancelDelegationToken(final UserGroupInformation loggedInUser, final ApplicationClientProtocol clientRMService, final org.apache.hadoop.yarn.api.records.Token dToken) throws IOException, InterruptedException { loggedInUser.doAs(new PrivilegedExceptionAction<Void>() { @Override public Void run() throws YarnException, IOException { CancelDelegationTokenRequest request = Records .newRecord(CancelDelegationTokenRequest.class); request.setDelegationToken(dToken); clientRMService.cancelDelegationToken(request); return null; } }); }
Example #22
Source File: AppReportFetcher.java From big-c with Apache License 2.0 | 5 votes |
/** * Create a new Connection to the RM to fetch Application reports. * @param conf the conf to use to know where the RM is. */ public AppReportFetcher(Configuration conf) { this.conf = conf; try { applicationsManager = ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); } catch (IOException e) { throw new YarnRuntimeException(e); } }
Example #23
Source File: TestApplicationACLs.java From big-c with Apache License 2.0 | 5 votes |
private void verifyFriendAccess() throws Exception { AccessControlList viewACL = new AccessControlList(""); viewACL.addGroup(FRIENDLY_GROUP); AccessControlList modifyACL = new AccessControlList(""); modifyACL.addUser(FRIEND); ApplicationId applicationId = submitAppAndGetAppId(viewACL, modifyACL); final GetApplicationReportRequest appReportRequest = recordFactory .newRecordInstance(GetApplicationReportRequest.class); appReportRequest.setApplicationId(applicationId); final KillApplicationRequest finishAppRequest = recordFactory .newRecordInstance(KillApplicationRequest.class); finishAppRequest.setApplicationId(applicationId); ApplicationClientProtocol friendClient = getRMClientForUser(FRIEND); // View as the friend friendClient.getApplicationReport(appReportRequest); // List apps as friend Assert.assertEquals("App view by a friend should list the apps!!", 3, friendClient.getApplications( recordFactory.newRecordInstance(GetApplicationsRequest.class)) .getApplicationList().size()); // Kill app as the friend friendClient.forceKillApplication(finishAppRequest); resourceManager.waitForState(applicationId, RMAppState.KILLED); }
Example #24
Source File: CommunicatorFactory.java From jumbune with GNU Lesser General Public License v3.0 | 5 votes |
public RMCommunicator createRMCommunicator(final Cluster cluster) throws Exception { LOGGER.debug("Creating RMCommunicator for cluster [ " + cluster.getClusterName() + " ], RMAddress [ " + cluster.getRMSocketAddress() + " ]"); UserGroupInformation userUGI = UserGroupInformation .createRemoteUser(cluster.getHadoopUsers().getFsUser()); final Configuration conf = new Configuration(); ApplicationClientProtocol proxy = userUGI.doAs( new PrivilegedExceptionAction<ApplicationClientProtocol>() { @Override public ApplicationClientProtocol run() throws Exception { String hadoopConfDir = RemotingUtil .getHadoopConfigurationDirPath(cluster); RemotingUtil.addHadoopResource(conf, cluster, hadoopConfDir, "core-site.xml"); RemotingUtil.addHadoopResource(conf, cluster, hadoopConfDir, "hdfs-site.xml"); RemotingUtil.addHadoopResource(conf, cluster, hadoopConfDir, "yarn-site.xml"); RemotingUtil.addHadoopResource(conf, cluster, hadoopConfDir, "mapred-site.xml"); YarnRPC rpc = YarnRPC.create(conf); InetSocketAddress rmSocketAddress = NetUtils .createSocketAddr(cluster.getRMSocketAddress()); return (ApplicationClientProtocol) rpc.getProxy( ApplicationClientProtocol.class, rmSocketAddress, conf); } }); RMCommunicator rmCommunicator = new RMCommunicator(cluster.getResourceManager(), proxy); return rmCommunicator; }
Example #25
Source File: AggregatedLogDeletionService.java From big-c with Apache License 2.0 | 5 votes |
public LogDeletionTask(Configuration conf, long retentionSecs, ApplicationClientProtocol rmClient) { this.conf = conf; this.retentionMillis = retentionSecs * 1000; this.suffix = LogAggregationUtils.getRemoteNodeLogDirSuffix(conf); this.remoteRootLogDir = new Path(conf.get(YarnConfiguration.NM_REMOTE_APP_LOG_DIR, YarnConfiguration.DEFAULT_NM_REMOTE_APP_LOG_DIR)); this.rmClient = rmClient; }
Example #26
Source File: StramClientUtils.java From Bats with Apache License 2.0 | 5 votes |
/** * Connect to the Resource Manager/Applications Manager<p> * * @return Handle to communicate with the ASM * @throws IOException */ public ApplicationClientProtocol connectToASM() throws IOException { YarnConfiguration yarnConf = new YarnConfiguration(conf); InetSocketAddress rmAddress = yarnConf.getSocketAddr( YarnConfiguration.RM_ADDRESS, YarnConfiguration.DEFAULT_RM_ADDRESS, YarnConfiguration.DEFAULT_RM_PORT); LOG.debug("Connecting to ResourceManager at " + rmAddress); return ((ApplicationClientProtocol)rpc.getProxy(ApplicationClientProtocol.class, rmAddress, conf)); }
Example #27
Source File: TestClientRedirect.java From big-c with Apache License 2.0 | 5 votes |
@Override protected void serviceStart() throws Exception { // All the clients to appsManager are supposed to be authenticated via // Kerberos if security is enabled, so no secretManager. YarnRPC rpc = YarnRPC.create(getConfig()); Configuration clientServerConf = new Configuration(getConfig()); this.server = rpc.getServer(ApplicationClientProtocol.class, this, clientBindAddress, clientServerConf, null, 1); this.server.start(); super.serviceStart(); }
Example #28
Source File: TestResourceMgrDelegate.java From hadoop with Apache License 2.0 | 5 votes |
@Test public void tesAllJobs() throws Exception { final ApplicationClientProtocol applicationsManager = Mockito.mock(ApplicationClientProtocol.class); GetApplicationsResponse allApplicationsResponse = Records .newRecord(GetApplicationsResponse.class); List<ApplicationReport> applications = new ArrayList<ApplicationReport>(); applications.add(getApplicationReport(YarnApplicationState.FINISHED, FinalApplicationStatus.FAILED)); applications.add(getApplicationReport(YarnApplicationState.FINISHED, FinalApplicationStatus.SUCCEEDED)); applications.add(getApplicationReport(YarnApplicationState.FINISHED, FinalApplicationStatus.KILLED)); applications.add(getApplicationReport(YarnApplicationState.FAILED, FinalApplicationStatus.FAILED)); allApplicationsResponse.setApplicationList(applications); Mockito.when( applicationsManager.getApplications(Mockito .any(GetApplicationsRequest.class))).thenReturn( allApplicationsResponse); ResourceMgrDelegate resourceMgrDelegate = new ResourceMgrDelegate( new YarnConfiguration()) { @Override protected void serviceStart() throws Exception { Assert.assertTrue(this.client instanceof YarnClientImpl); ((YarnClientImpl) this.client).setRMClient(applicationsManager); } }; JobStatus[] allJobs = resourceMgrDelegate.getAllJobs(); Assert.assertEquals(State.FAILED, allJobs[0].getState()); Assert.assertEquals(State.SUCCEEDED, allJobs[1].getState()); Assert.assertEquals(State.KILLED, allJobs[2].getState()); Assert.assertEquals(State.FAILED, allJobs[3].getState()); }
Example #29
Source File: TestClientRedirect.java From hadoop with Apache License 2.0 | 5 votes |
@Override protected void serviceStart() throws Exception { // All the clients to appsManager are supposed to be authenticated via // Kerberos if security is enabled, so no secretManager. YarnRPC rpc = YarnRPC.create(getConfig()); Configuration clientServerConf = new Configuration(getConfig()); this.server = rpc.getServer(ApplicationClientProtocol.class, this, clientBindAddress, clientServerConf, null, 1); this.server.start(); super.serviceStart(); }
Example #30
Source File: TestApplicationClientProtocolOnHA.java From big-c with Apache License 2.0 | 5 votes |
@Test(timeout = 15000) public void testRenewDelegationTokenOnHA() throws Exception { RenewDelegationTokenRequest request = RenewDelegationTokenRequest.newInstance(cluster.createFakeToken()); long newExpirationTime = ClientRMProxy.createRMProxy(this.conf, ApplicationClientProtocol.class) .renewDelegationToken(request).getNextExpirationTime(); Assert.assertEquals(newExpirationTime, cluster.createNextExpirationTime()); }