Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2D8F5200D0B for ; Tue, 29 Aug 2017 03:33:17 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 2BCDE165E88; Tue, 29 Aug 2017 01:33:17 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4B781165E87 for ; Tue, 29 Aug 2017 03:33:16 +0200 (CEST) Received: (qmail 98985 invoked by uid 500); 29 Aug 2017 01:33:15 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 98976 invoked by uid 99); 29 Aug 2017 01:33:14 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Aug 2017 01:33:14 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C11F1E0019; Tue, 29 Aug 2017 01:33:14 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: junping_du@apache.org To: common-commits@hadoop.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: YARN-7076. yarn application -list -appTypes is not working. Contributed by Jian He. Date: Tue, 29 Aug 2017 01:33:14 +0000 (UTC) archived-at: Tue, 29 Aug 2017 01:33:17 -0000 Repository: hadoop Updated Branches: refs/heads/branch-2.8.2 205a95c29 -> 29588814b YARN-7076. yarn application -list -appTypes is not working. Contributed by Jian He. (cherry picked from commit 312b1fd9da2781da97f8c76fe1262c4d99b9c37f) (cherry picked from commit f252e1fe2887cc961cf3ad532bfa22d646775fbf) (cherry picked from commit 1dfb3850c880fefa2e7640c236939288d0e526f6) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/29588814 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/29588814 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/29588814 Branch: refs/heads/branch-2.8.2 Commit: 29588814b27f38f0ed8777b3970b4cf413ceecd7 Parents: 205a95c Author: Junping Du Authored: Mon Aug 28 18:26:51 2017 -0700 Committer: Junping Du Committed: Mon Aug 28 18:32:29 2017 -0700 ---------------------------------------------------------------------- .../server/resourcemanager/ClientRMService.java | 30 +++++++++++--------- .../resourcemanager/webapp/RMWebServices.java | 4 +-- .../resourcemanager/TestClientRMService.java | 14 ++++++++- .../webapp/TestRMWebServices.java | 5 ++-- 4 files changed, 34 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/29588814/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java index 5957cb1..7b52707 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java @@ -28,6 +28,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -793,21 +794,14 @@ public class ClientRMService extends AbstractService implements response.setClusterMetrics(ymetrics); return response; } - - @Override - public GetApplicationsResponse getApplications( - GetApplicationsRequest request) throws YarnException { - return getApplications(request, true); - } /** * Get applications matching the {@link GetApplicationsRequest}. If * caseSensitive is set to false, applicationTypes in * GetApplicationRequest are expected to be in all-lowercase */ - @Private - public GetApplicationsResponse getApplications( - GetApplicationsRequest request, boolean caseSensitive) + @Override + public GetApplicationsResponse getApplications(GetApplicationsRequest request) throws YarnException { UserGroupInformation callerUGI; try { @@ -817,7 +811,7 @@ public class ClientRMService extends AbstractService implements throw RPCUtil.getRemoteException(ie); } - Set applicationTypes = request.getApplicationTypes(); + Set applicationTypes = getLowerCasedAppTypes(request); EnumSet applicationStates = request.getApplicationStates(); Set users = request.getUsers(); @@ -881,9 +875,8 @@ public class ClientRMService extends AbstractService implements } if (applicationTypes != null && !applicationTypes.isEmpty()) { - String appTypeToMatch = caseSensitive - ? application.getApplicationType() - : StringUtils.toLowerCase(application.getApplicationType()); + String appTypeToMatch = + StringUtils.toLowerCase(application.getApplicationType()); if (!applicationTypes.contains(appTypeToMatch)) { continue; } @@ -943,6 +936,17 @@ public class ClientRMService extends AbstractService implements return response; } + private Set getLowerCasedAppTypes(GetApplicationsRequest request) { + Set applicationTypes = new HashSet<>(); + if (request.getApplicationTypes() != null && !request.getApplicationTypes() + .isEmpty()) { + for (String type : request.getApplicationTypes()) { + applicationTypes.add(StringUtils.toLowerCase(type)); + } + } + return applicationTypes; + } + @Override public GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request) throws YarnException { http://git-wip-us.apache.org/repos/asf/hadoop/blob/29588814/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java index c2bcbb9..10646aa 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java @@ -532,8 +532,8 @@ public class RMWebServices { List appReports = null; try { - appReports = rm.getClientRMService() - .getApplications(request, false).getApplicationList(); + appReports = rm.getClientRMService().getApplications(request) + .getApplicationList(); } catch (YarnException e) { LOG.error("Unable to retrieve apps from ClientRMService", e); throw new YarnRuntimeException( http://git-wip-us.apache.org/repos/asf/hadoop/blob/29588814/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java index 5f6aa03..37b0de4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java @@ -708,6 +708,18 @@ public class TestClientRMService { Assert.assertEquals(appId2, getAllApplicationsResponse.getApplicationList() .get(0).getApplicationId()); + + // Test query with uppercase appType also works + appTypes = new HashSet(); + appTypes.add("MATCHTYPE"); + getAllAppsRequest = GetApplicationsRequest.newInstance(appTypes); + getAllApplicationsResponse = + rmService.getApplications(getAllAppsRequest); + Assert.assertEquals(1, + getAllApplicationsResponse.getApplicationList().size()); + Assert.assertEquals(appId2, + getAllApplicationsResponse.getApplicationList() + .get(0).getApplicationId()); } @Test @@ -795,7 +807,7 @@ public class TestClientRMService { 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()); + rmService.getApplications(request).getApplicationList().size()); queueSet.add(queues[1]); assertEquals("Incorrect number of applications in queue", 3, http://git-wip-us.apache.org/repos/asf/hadoop/blob/29588814/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java index c329629..de687f1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java @@ -21,7 +21,6 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.anyBoolean; import static org.mockito.Matchers.isA; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -631,8 +630,8 @@ public class TestRMWebServices extends JerseyTestBase { when(mockAppsResponse.getApplicationList()) .thenReturn(Arrays.asList(new ApplicationReport[] { mockReport })); ClientRMService mockClientSvc = mock(ClientRMService.class); - when(mockClientSvc.getApplications(isA(GetApplicationsRequest.class), - anyBoolean())).thenReturn(mockAppsResponse); + when(mockClientSvc.getApplications(isA(GetApplicationsRequest.class))) + .thenReturn(mockAppsResponse); ResourceManager mockRM = mock(ResourceManager.class); RMContextImpl rmContext = new RMContextImpl(null, null, null, null, null, null, null, null, null, null); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org