Package org.apache.hadoop.yarn.api.protocolrecords

Examples of org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest


    } catch (YarnException e) {
      Assert.assertTrue("The thrown exception is not expected.",
          e.getMessage().contains("Cannot add a duplicate!"));
    }

    GetApplicationsRequest getAllAppsRequest =
        GetApplicationsRequest.newInstance(new HashSet<String>());
    GetApplicationsResponse getAllApplicationsResponse =
        rmService.getApplications(getAllAppsRequest);
    Assert.assertEquals(5,
        getAllApplicationsResponse.getApplicationList().size());
View Full Code Here


          appId, appNames[i], queues[i % queues.length]);
      rmService.submitApplication(submitRequest);
    }

    // Test different cases of ClientRMService#getApplications()
    GetApplicationsRequest request = GetApplicationsRequest.newInstance();
    assertEquals("Incorrect total number of apps", 6,
        rmService.getApplications(request).getApplicationList().size());

    // Check limit
    request.setLimit(1L);
    assertEquals("Failed to limit applications", 1,
        rmService.getApplications(request).getApplicationList().size());

    // Check queue
    request = GetApplicationsRequest.newInstance();
    Set<String> queueSet = new HashSet<String>();
    request.setQueues(queueSet);

    queueSet.add(queues[0]);
    assertEquals("Incorrect number of applications in queue", 2,
        rmService.getApplications(request).getApplicationList().size());
    assertEquals("Incorrect number of applications in queue", 2,
        rmService.getApplications(request, false).getApplicationList().size());

    queueSet.add(queues[1]);
    assertEquals("Incorrect number of applications in queue", 3,
        rmService.getApplications(request).getApplicationList().size());

    // Check user
    request = GetApplicationsRequest.newInstance();
    Set<String> userSet = new HashSet<String>();
    request.setUsers(userSet);

    userSet.add("random-user-name");
    assertEquals("Incorrect number of applications for user", 0,
        rmService.getApplications(request).getApplicationList().size());
View Full Code Here

    Set<String> appStates = parseQueries(statesQuery, true);
    if (!appStates.isEmpty()) {
      checkAppStates = true;
    }

    GetApplicationsRequest request = GetApplicationsRequest.newInstance();

    if (checkStart) {
      request.setStartRange(sBegin, sEnd);
    }

    if (checkEnd) {
      request.setFinishRange(fBegin, fEnd);
    }

    if (checkCount) {
      request.setLimit(countNum);
    }

    if (checkAppTypes) {
      request.setApplicationTypes(appTypes);
    }

    if (checkAppStates) {
      request.setApplicationStates(appStates);
    }

    if (queueQuery != null && !queueQuery.isEmpty()) {
      ResourceScheduler rs = rm.getResourceScheduler();
      if (rs instanceof CapacityScheduler) {
        CapacityScheduler cs = (CapacityScheduler) rs;
        // validate queue exists
        try {
          cs.getQueueInfo(queueQuery, false, false);
        } catch (IOException e) {
          throw new BadRequestException(e.getMessage());
        }
      }
      Set<String> queues = new HashSet<String>(1);
      queues.add(queueQuery);
      request.setQueues(queues);
    }

    if (userQuery != null && !userQuery.isEmpty()) {
      Set<String> users = new HashSet<String>(1);
      users.add(userQuery);
      request.setUsers(users);
    }

    List<ApplicationReport> appReports = null;
    try {
      appReports = rm.getClientRMService()
View Full Code Here

public class TestGetApplicationsRequest {

  @Test
  public void testGetApplicationsRequest(){
    GetApplicationsRequest request = GetApplicationsRequest.newInstance();
   
    EnumSet<YarnApplicationState> appStates =
      EnumSet.of(YarnApplicationState.ACCEPTED);
    request.setApplicationStates(appStates);
   
    Set<String> tags = new HashSet<String>();
    tags.add("tag1");
    request.setApplicationTags(tags);
   
    Set<String> types = new HashSet<String>();
    types.add("type1");
    request.setApplicationTypes(types);
   
    long startBegin = System.currentTimeMillis();
    long startEnd = System.currentTimeMillis() + 1;
    request.setStartRange(startBegin, startEnd);
    long finishBegin = System.currentTimeMillis() + 2;
    long finishEnd = System.currentTimeMillis() + 3;
    request.setFinishRange(finishBegin, finishEnd);
   
    long limit = 100L;
    request.setLimit(limit);
   
    Set<String> queues = new HashSet<String>();
    queues.add("queue1");
    request.setQueues(queues);
   
   
    Set<String> users = new HashSet<String>();
    users.add("user1");
    request.setUsers(users);
   
    ApplicationsRequestScope scope = ApplicationsRequestScope.ALL;
    request.setScope(scope);
   
    GetApplicationsRequest requestFromProto = new GetApplicationsRequestPBImpl(
        ((GetApplicationsRequestPBImpl)request).getProto());
   
    // verify all properties are the same as original request
    Assert.assertEquals(
        "ApplicationStates from proto is not the same with original request",
        requestFromProto.getApplicationStates(), appStates);
   
    Assert.assertEquals(
        "ApplicationTags from proto is not the same with original request",
        requestFromProto.getApplicationTags(), tags);
   
    Assert.assertEquals(
        "ApplicationTypes from proto is not the same with original request",
        requestFromProto.getApplicationTypes(), types);
   
    Assert.assertEquals(
        "StartRange from proto is not the same with original request",
        requestFromProto.getStartRange(), new LongRange(startBegin, startEnd));
   
    Assert.assertEquals(
        "FinishRange from proto is not the same with original request",
        requestFromProto.getFinishRange(), new LongRange(finishBegin, finishEnd));
   
    Assert.assertEquals(
        "Limit from proto is not the same with original request",
        requestFromProto.getLimit(), limit);
   
    Assert.assertEquals(
        "Queues from proto is not the same with original request",
        requestFromProto.getQueues(), queues);
   
    Assert.assertEquals(
        "Users from proto is not the same with original request",
        requestFromProto.getUsers(), users);
  }
View Full Code Here

  @Override
  public List<ApplicationReport> getApplications(Set<String> applicationTypes,
      EnumSet<YarnApplicationState> applicationStates) throws YarnException,
      IOException {
    GetApplicationsRequest request =
        GetApplicationsRequest.newInstance(applicationTypes, applicationStates);
    GetApplicationsResponse response = rmClient.getApplications(request);
    return response.getApplicationList();
  }
View Full Code Here

  }

  @Override
  public List<ApplicationReport> getApplications() throws YarnException,
      IOException {
    GetApplicationsRequest request = GetApplicationsRequest.newInstance(null,
        null);
    GetApplicationsResponse response = ahsClient.getApplications(request);
    return response.getApplicationList();
  }
View Full Code Here

    writeApplicationStartData(appId);
    writeApplicationFinishData(appId);
    ApplicationId appId1 = ApplicationId.newInstance(0, 2);
    writeApplicationStartData(appId1);
    writeApplicationFinishData(appId1);
    GetApplicationsRequest request = GetApplicationsRequest.newInstance();
    GetApplicationsResponse response =
        historyServer.getClientService().getClientHandler()
          .getApplications(request);
    List<ApplicationReport> appReport = response.getApplicationList();
    Assert.assertNotNull(appReport);
View Full Code Here

        }
        String tag = actionConf.get("mapreduce.job.tags");
        if (tag == null) {
            throw new RuntimeException("Could not find Yarn tags property (mapreduce.job.tags)");
        }
        GetApplicationsRequest gar = GetApplicationsRequest.newInstance();
        gar.setScope(ApplicationsRequestScope.OWN);
        gar.setStartRange(startTime, System.currentTimeMillis());
        gar.setApplicationTags(Collections.singleton(tag));
        try {
            ApplicationClientProtocol proxy = ClientRMProxy.createRMProxy(actionConf, ApplicationClientProtocol.class);
            GetApplicationsResponse apps = proxy.getApplications(gar);
            List<ApplicationReport> appsList = apps.getApplicationList();
            for(ApplicationReport appReport : appsList) {
View Full Code Here

    Set<String> appStates = parseQueries(statesQuery, true);
    if (!appStates.isEmpty()) {
      checkAppStates = true;
    }

    GetApplicationsRequest request = GetApplicationsRequest.newInstance();

    if (checkStart) {
      request.setStartRange(sBegin, sEnd);
    }

    if (checkEnd) {
      request.setFinishRange(fBegin, fEnd);
    }

    if (checkCount) {
      request.setLimit(countNum);
    }

    if (checkAppTypes) {
      request.setApplicationTypes(appTypes);
    }

    if (checkAppTags) {
      request.setApplicationTags(appTags);
    }

    if (checkAppStates) {
      request.setApplicationStates(appStates);
    }

    if (queueQuery != null && !queueQuery.isEmpty()) {
      ResourceScheduler rs = rm.getResourceScheduler();
      if (rs instanceof CapacityScheduler) {
        CapacityScheduler cs = (CapacityScheduler) rs;
        // validate queue exists
        try {
          cs.getQueueInfo(queueQuery, false, false);
        } catch (IOException e) {
          throw new BadRequestException(e.getMessage());
        }
      }
      Set<String> queues = new HashSet<String>(1);
      queues.add(queueQuery);
      request.setQueues(queues);
    }

    if (userQuery != null && !userQuery.isEmpty()) {
      Set<String> users = new HashSet<String>(1);
      users.add(userQuery);
      request.setUsers(users);
    }

    List<ApplicationReport> appReports = null;
    try {
      appReports = rm.getClientRMService()
View Full Code Here

  private Set<ApplicationId> getYarnChildJobs(String tag, long timestamp) {
    Set<ApplicationId> childYarnJobs = new HashSet<ApplicationId>();

    LOG.info(String.format("Querying RM for tag = %s, starting with ts = %s", tag, timestamp));

    GetApplicationsRequest gar = GetApplicationsRequest.newInstance();
    gar.setScope(ApplicationsRequestScope.OWN);
    gar.setStartRange(timestamp, System.currentTimeMillis());
    gar.setApplicationTags(Collections.singleton(tag));
    try {
      ApplicationClientProtocol proxy = ClientRMProxy.createRMProxy(conf,
          ApplicationClientProtocol.class);
      GetApplicationsResponse apps = proxy.getApplications(gar);
      List<ApplicationReport> appsList = apps.getApplicationList();
View Full Code Here

TOP

Related Classes of org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.